Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Мова програмування QBASIC




 

QBASIC є мовою програмування. Він, як і будь-яка інша мова програмування, є засобом спілкування з комп’ютером. QBASIC має свою граматику та свій словник. Щоб вивчити будь-яку мову, ви повинні почати з ознайомлення з його алфавітом. Таблиця 2.1. являє собою перелік символів, що використовуються в QBASIC. Поруч з буквами, алфавіт вміщує різні знаки та спеціальні символи. Усі вони можуть бути знайдені на клавіатурі.

Числа

 

В QBASIC існує два основних типи даних – числові та текстові.

Такі значення, як 44499, -5.99 є прикладами числових даних, тобто даних, що складаються з цифр та десяткової крапки і, якщо число від’ємне – знака мінус.

Тексти можуть включати літери, числа та інші знаки в будь-якій комбінації, наприклад: «Запис номер 20». Такий тип даних має текстову інформацію і повинен бути взятий в лапки.

 

Таблиця 2.1.

 

Символ Найменування Символ Найменування
A-Z Великі літери : Двокрапка
a-z Малі літери + Знак плюс
0-9 Цифри - Знак мінус
  Пропуск * Зірочка (знак множення)
! Знак оклику / Нахилена риска
# Дієз \ Обернена нахилена риска
% Знак процента ^ Знак вставки
& Знак амперсанда = Знак рівності
$ Знак долара < Знак менше
« Подвійні лапки > Знак більше
Апостроф () Ліва і права дужки
; Крапка з комою ? Знак питання
. Крапка _ Знак підкреслення
, Кома ~ Тильда

 

В QBASIC визначені чотири типи числових даних (див. табл. 2.2.):

Цілі – це числа, що не мають дробової частини, наприклад 55999, -77.

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

Дійсні – числа з дробовою частиною. Коли ці числа дуже малі або великі, QBASIC використовує так звану експоненціальну форму запису, тобто:

-5 689 000 000.0 = -5.689 Е+9

000 0419 = 4.19*10 -9 = 4.19 Е-9

(літера Е в такому запису числа означає «10 в степені…», показник степені стоїть після неї).

Дійсні з подвійною точністю. Розширити діапазон та точність дійсних чисел можна, якщо використати числа типу дійсні з подвійною точністю. Для даних цього типу замість літери Е в запису числа використовується D. Числа з подвійною точністю можуть мати 15 значущих цифр.

 

Таблиця 2.2.

 

Тип числа Діапазон
Мінімум Максимум
Цілі(Integer) -32768
Довгі цілі (Long integer) -2 147 483 648 2 147 483 647
Дійсні (Single –precision) -3.4E+38 3.4 E+38
Дійсні з подвійною точністю (Double-precision) -1.8D+308 1.8D+308

 

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

 

При роботі на ЕОМ для обчислення значень функцій, що часто використовуються, існує можливість використовувати вже готові програми, які знаходяться в пам’яті ЕОМ.

 

Таблиця 2.3.

 

Запис на мові QBASIC Математичні визначення
SIN(X) Sin(x)
COS(X) Cos(x)
ATN (X) Arctg(x)
LOG(X) Ln(x)
LOG10(X) Lg(x)
INT(X) [x] – найбільше ціле, що не перевищує х
EXP(X) ех
ABS(X) ½х½
SGN(X) 1, при х>0; 0 при х=0; -1 при х<0
SQR(X)
PI Число p

В табл. 2.3 наводяться стандартні функції, які можна застосовувати в мові QBASIC для числових змінних. Аргумент стандартної функції береться в дужки. В якості аргументу можна використовувати будь-який арифметичний вираз.

Для отримання інших обернених тригонометричних функцій можна застосовувати формули :

arcSin(x)=arctg(x*sgr(1-x^2))

arcCos(x)= arctg(sqr(1-x^2)/x)

arccTg(x)= arctg(1/x)

 

Операції та вирази

 

Вираз— послідовність операцій, які необхідно виконати над даними, щоб одержати потрібне значення. Результатом виразу може бути символьна або числова константа, змінна чи значення. В мові QBASIC існують такі категорії операцій:

· арифметичні операції;

· операції відношень;

· логічні операції;

· операції над символьними величинами.

В табл. 2.4. перераховані арифметичні операції мови QBASIC в порядку зменшення пріоритету виконання.

 

Таблиця 2.4.

 

Ù Піднесення до степені
*, / Множення, ділення
+, - Додавання, віднімання

 

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

Існує ряд умов для правильного запису арифметичних виразів. При запису складного виразу, що включає кілька операцій, ви повинні пам’ятати такі правила:

У програмуванні вираз повинен бути записаний в межах одного рядка, тобто без “двоповерхових” записів . Наприклад:

записується як 17.0/(3.5+4.0)

Якщо вираз є дробом і його частини (дільник та ділене) вміщують кілька операцій, ви повинні використовувати дужки. Дужки змінюють порядок виконання операцій. Наприклад:

записується як (3*2+7)/(14/3-1)

Інколи, особливо в дуже складних виразах, доцільно ставити дужки, навіть якщо це не змінює порядку обчислень. Дужки сприяють кращому розумінню виразу.

Операції відношення застосовуються для порівняння арифметичних виразів. В мові QBASIC налічується 6 операцій відношення. Їх значення та запис на QBASIC представлені в табл. 2.6. і табл. 2.7.:

Таблиця 2.6.

 

Знак Значення
= Рівно
> Більше
< Менше
<> Не рівно
<= Менше або рівно
>= Більше або рівно

 

Таблиця 2.7.

 

Оператор Значення Вираз в QBASIC
= Рівність х=у
<> Нерівність х<>у
< Меньше х<у
> Більше х>у
<= Меньше або рівно х<=у
>= Більше або рівно х>=у

 

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

- TRUE (“так” або 1). Внутрішнє представлення TRUE — 1, таким чином, виконавши PRINT 10>3, одержимо в результаті 1.

- FALSE (“ні” або 0). Внутрішнє представлення FALSE — 0. Виконавши PRINT 10<3 , ми одержимо в результаті 0.

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

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

Логічні операції здійснюють маніпуляції над бітами. Інакше вони називаються булевими операції. Вони повертають значення “так” або “ні”, 1 або 0, TRUE або FALSE. Існує три логічних операції, представлені у табл. 2.8.

Таблиця 2.8.

 

Оператор Назва Пояснення
NOT Заперечення NOT а =1 тоді, коли а=0
AND Логічне множення а AND b=1 тоді і тільки тоді, коли а=1 і b=1
OR Логічне складання а OR b=1 тоді і тільки тоді, коли хоча б одне з них =1

 

Операції над символьними величинами

 

Для об¢єднання символьних величин застосовується символ “+”. Наприклад:

A$="добрий", B$="день", C$=A$+B$, в результаті отримаємо С$="добрий день".

Порівняння символьних величин здійснюється у відповідності до ASCII кодів кожного символу змінних. Змінна, символи якої мають більші ASCII коди, вважається більшою. Якщо одна із порівнюваних змінних коротша за іншу, то вона вважається меншою. При порівнянні враховуються початкові і кінцеві пропуски.

Для роботи з символьними величинами існують наступні функції (х$, y$ — символьні величини; m, n – цілі величини)


Таблиця 2.9.

 

Функція Призначення
LEN(Х$) Здійснює підрахунок кількості символів в х$
  INSTR(n,x$,y$) Здійснює пошук підрядка у$, починаючи з символу n рядка х$, що є початковим у підрядку у$, або повертає 0, якщо підрядок не знайдено.
LEFT$ (x$,n) Виділення n лівих крайніх символів рядка х$
RITH$ (x$,n) Виділення n правих крайніх символів рядка х$
MID$ (x$,n,m) Виділяє підрядок з m символів, починаючи з n-го символу рядка х$

 

Змінні

Усі програми використовують числові або текстові константи. Константи не можуть бути змінені під час виконання програми, тому для отримання іншого результату ми маємо змінювати саму програму. Наприклад, ви написали програму:

РRINТ " Я МАЮ АВТО "

але потім побажали, щоб результатом її роботи було ствердження, що ви маєте не авто, а, наприклад, велосипед . Найпростішим розв’язанням вважається зміна тексту програми.

Пригадаємо, однак, що комп’ютер може зберігати будь-яку інформацію у своїй пам’яті. Таким чином, щоб зберегти будь-які дані для програми, ви повинні сказати комп’ютеру, що вам потрібна деяка кількість пам’яті (або скажемо інакше – декілька комірок пам’яті). Це можна виконати, використовуючи змінні.

Змінна– це ім’я області пам’яті (розмір області залежить від типу даних), в якій зберігається значення, привласнене змінною.

Зміннучасто порівнюють з ящиком в якому знаходиться значення. Щоб краще уявляти собі це, погляньте на рис. 2.1.

Однак таке порівняння не зовсім вірне. Неточність виникає, коли ви, спочатку розмістивши щось у ящику, потім виймаєте це щось. Цілком ймовірно припустити, що у ящику нічого не залишиться. Так це й буде, якщо ви з коробки забрали останню цукерку. У програмуванні дещо інакше. Коли ви пишете:

NameVar $="АВТО"

РRINТ " Я МАЮ "; NameVar$

QВАSIС звернеться до області пам’яті з ім’ям NamеVаг$, де зберігається значення «АВТО», і надрукує отриманий результат, але при цьому саме значення залишиться на своєму місці.

Таким чином, для програмування більш чітким буде порівняння областей пам’яті з полицями у магазині, на яких є різноманітний товар. Ви зможете, роздивлятися його, оцінювати і навіть взяти щось у руки, при цьому на полиці залишаться інші екземпляри цього ж товару. І тільки тоді, коли ви розмістите на цю полицю інший товар, ваша змінна одержить нове значення.

 

Змінні: імена і типи

Як ми сказали раніше, змінна – це ім’я області пам’яті, якій зберігається деяке значення. У перших версіях ВАSIСім’я змінної могло складатися з одного чи двох символів; QBASIС не такий суворий. Ім’я змінної може вміщувати до 40 символів (літер латинського алфавіту, цифр), однак завжди повинно починатися з літери. Наприклад, припустимі такі імена:

 

FIRSТ.JOВ МYNAME$
А01 АRЕА
А02 МОNTH$

 

Якщо два імені різняться хоча б одним символом (наприклад, WEEK1$ і WЕЕК2$), то вони визначають різні змінні і різні області пам’яті.

Створюючи нові імена для своїх змінних, ви можете використовувати як маленькі, так і великі літери. Але пам’ятайте, QBASIC не робить між ними різниці. Усі приведені нижче імена визначають одну й ту ж змінну.

 

ОurLife$ OURlife$ OURLIFE$ ourlife$

Спеціальні символи, що використовуються в іменах змінних

 

Можливо, ви вже помітили, що деякі імена змінних закінчуються знаком $. Це не випадково, більш того, дуже важливо. Як ви вже знаєте, дані для програми поділяються на 2 групи: числові та текстові. Спеціальний символ, що стоїть в кінці імені змінної, показує, до якого типу даних належить змінна. Знак $ в кінці імені змінної говорить QВАSIС, що змінна відноситься до текстової групи. Нижче приведені приклади текстових змінних:

Greeting$ = "З ДНЕМ НАРОДЖЕННЯ "

Myname$ = "СЕРГІЙКО"

Status$ = "ALL RIGHT "

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

Таблиця 2.10.

 

Тип Символ
Цілі(Integer) %
Довгі цілі (Long integer) &
Дійсні (Single–precision) !
Дійсні з подвійною точністю (Double-precision) #
Текстовий (String) $

 

Якщо ім’я змінної не має на кінці спеціального символу, що визначає його тип, то приймається, що змінна – дійсного типу.

В наступному прикладі імена змінних різняться лише закінченнями. Але цього досить, щоб в пам’яті їм відводились різні області. Ці змінні повинні приймати значення відповідного типу:

 

А% Gгееting A! Greeting$

Як вибрати ім’я для змінної

 

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

NAME$ РАGE. NAMBER% MAX. VALUE

Вибираючи ім’я для змінної таким чином, ви завжди зможете легко й швидко згадати, для яких цілей потрібна та чи інша змінна, особливо якщо ви вирішили повернути до життя давно написану та вже забуту програму. Імена змінних будуть додатковим коментарем у вашій програмі. До того ж, ви не можете використовувати в іменах змінних пропуск, але якщо ви хочете, щоб ім’я змінної складалося нібито з кількох слів, використовуйте замість пропуску, наприклад, крапку.

Погляньте уважно на наступну програму 1:

 

‘Програма 1

RЕМТестування оператора РRINТ

РRINТ НЕLLО

ЕND

 

 
 

На перший погляд оператор РRINТ виглядає вірно, однак якщо ви запустите програму на виконання, то побачите не привітання, а результат, зображений на рис.2.2.

 

Що ж трапилось? Забувши поставити лапки, ви не повідомили QBASIC, що хочете друкувати текстову інформацію, і тому слово НЕLLO було інтерпретовано як ім’я змінної дійсного типу. А так як ніякого значення їй не було присвоєно, вона зберегла початкове значення, яке їй присвоєно QВАSIС.

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

 

Найпростіші оператори

 

Словник QBASIC містить близько 200 ключових слів, кожне з яких означає виконання певної дії QBASIC. Більшість ключових слів разом з додатковими параметрами формують оператори, з яких і складається текст програми. PRINT – приклад ключового слова.

Оператор PRINT має таку структуру: PRINTпараметр,

де, наприклад,

PRINT «Я вивчаю QBASIC» — оператор

PRINT — ключове слово

«Я вивчаю QBASIC» — параметр

Замість слова PRINT можна використовувати знак питання. Після натискування клавіші Enter QBASIC сам перетворює знак питання в ключове слово PRINT.

QBASICне очищує автоматично екран при запуску нової програми, і після виконання різних програм або багаторазового виконання однієї і тієї ж на екрані виводу результатів виникає безлад. Тому програму треба починати з оператора очищення екрану CLS, який стирає усі попередні результати виконання програми. Відзначимо, що оператор CLS стирає данні тільки з екрана і не діє на дані, що зберігаються в пам’яті ПК. Як правило, цей оператор розміщується на початку програми – це добра звичка і прекрасний стиль програмування.

Оператор END — ще один приклад ключового слова — зупиняє виконання програми. У випадку його відсутності QBASIC вважає, що програма закінчується після останнього рядка, але END досить корисний при необхідності припинити виконання програми.

Оператор REM визначає рядок, який він починає, як рядок коментарю. Він має наступну форму:

REM текст,

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

Ви можете будь-яку програму починати з коментарю (заголовку), який можна розміщати також в будь-де в програмі.

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

 

Розміщення кількох операторів в рядку

Поки ваші програми короткі і повністю вміщаються на екрані, піклуватися про економію місця не має сенсу. Але з часом вони стануть довшими. Щоб скоротити кількість рядків програми, ви можете розмістити кілька коротких операторів в рядку, які треба розділяти знаком двокрапки (:).

Попередні версії мови BASIC потребують, щоб кожний рядок програми починалась з номеру. В QBASIC це зовсім необов’язково.

Якщо у програмі є передача управління оператору, що знаходиться в іншій її частині, то цьому оператору можна дати деяке додаткове ім’я — мітку. ЇЇ ім’я може вміщувати від 1 до 40 символів, серед яких не повинно бути пропусків. Мітка повинна закінчуватись двокрапкою.

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

ім’я змінної = вираз,

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

X=X+1 C=B D= (-A+SIN(C))

Спочатку обчислюються значення виразу, що знаходиться справа від знаку, а потім числове або текстове значення присвоюється змінній, ім’я якої вказано зліва.

 

Якими способами можна ввести данні в програму?

 

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

INPUTn,

де n – ім’я змінної, для якої потребується ввід значення.

Інструкція INPUT n є вже достатньою командою, при зустрічі з якою програма виконує наступні дії :

  • на екрані з’являється знак питання ;
  • програма призупиняє роботу і чекає, коли ви наберете будь-яке значення на клавіатурі;
  • натискання клавіші Enter на клавіатурі повідомляє програмі, що ввід закінчено;
  • введене значення присвоюється змінній;
  • комп’ютер продовжує виконання програми, використовуючи введене значення. Значення, яке мала ця раніше забувається програмою.

 

Приклад:

REMПрограма 2. Додавання двох чисел

INPUT «Введіть перше число:», NUM1

INPUT «Введіть друге число:», NUM2

Виведення результату на екран

PRINT «Сума=»; NUM1+NUM2

END

Результат буде виглядати так як показано на рис. 2.3.

А тепер розглянемо загальну форму для запису нового оператора INPUT:

INPUT «текст»; перелік змінних,

де «текст» — будь-який текст, що виводиться на екран перед запитом значення, повинен бути в лапках;

перелік змінних – перелік змінних, для яких знадобиться ввід значень; імена змінних повинні бути розділені крапкою з комою або комою.

Знак крапка з комою (;) відразу за словом INPUT визначає положення курсору після натискання клавіші вводу Enter.

Порівняйте два випадки:

В програмі: На екрані:

INPUT «Як тебе звуть»; NAME$ Як тебе звуть? Оксана

PRINT « Тебе звуть», NAME$ Тебе звуть Оксана

 

У першому прикладі немає крапки з комою після оператору імені змінної, тому результат виконання оператору PRINT виводиться на наступному рядку. У випадку крапка з комою означає, що курсор не повинен переміщуватися на наступний рядок. Крім того, розміщення крапки з комою після тексту забезпечує присутність знаку питання на екрані:

 

В програмі: На екрані:

INPUT «Як тебе звуть»; NAME Як тебе звуть?

 

 

Зразок виконання завдання. Обчислити значення Y и P , використовуючи формули:

,

при значеннях a=0.59, z= -4.8, x=2.1.

 

Програма подана нижче, а блок-схема зображена на рис. 2.4.

REM Лабораторна робота № 3

REM Обчислення значень функцій

CLS

INPUT «Введіть A, Z, X» ; A, Z, X

PRINT «A=»; A, «Z=»; Z, «X=»;X

Y= A*TAN(X^2)^3+SQR(Z^2/(A^2+X^2))

P=LOG(A+X^2)+SIN(Z/A)^2

PRINT «Y=»; Y, «P=»; P

END

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

 

1. Перечисліть символи та конструкції мови QBASIC.

2. Правила використання оператора PRINT.

3. Як почати програму (оператор CLS).

4. Як закінчити програму.

5. Коментарі в програмі.

6. Використання позначок.

7. Оператор присвоєння.

8. Правила використання оператора INPUT.

 
 

Варіанти завдань роботи

Обчислити значення змінних, що вказані у табл. 2.11., за заданими формулами, згідно свого варіанту. На друк вивести значення введених даних та результати обчислень.

 

Таблиця 2.11.

 

№ п/п Формули Значення вихідних даних
    x = 1,426 y = -1,220 z = 3,5
  x = 1,825 y = 18,225 z = -3,298
  x = 0,335 y = 0,025
  a = -0,5 b = 1,7 t = 0,44
  a = 1,5 b = 15,5 x = -2,9
  a = 16,5 b = 3,4 x = 0,61

Продовження табл. 2.11.

 


Поможем в написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой





Дата добавления: 2015-09-07; просмотров: 1519. Нарушение авторских прав; Мы поможем в написании вашей работы!

Studopedia.info - Студопедия - 2014-2022 год . (0.113 сек.) русская версия | украинская версия
Поможем в написании
> Курсовые, контрольные, дипломные и другие работы со скидкой до 25%
3 569 лучших специалисов, готовы оказать помощь 24/7