Эта величина которая может меняться при выполнении программы

Каждая переменная в языке QuickBASIC имеет тип. Тип определяет, какие данные хранятся в этой переменной. Существует две основных категории данных: числовые и символьные. Каждая категория включает в себя элементарные типы данных, о которых рассказано ниже.

Числовые типы данных

Числовые данные представляют собой числа. Они бывают следующих типов: целые, длинные целые, обычной точности, двойной точности:

Целые (INTEGER) — занимают в памяти 2 байта и используются для значений в диапазоне от -32768 до +32768.

Длинные целые (LONG) — 4 байта. Используются для значений в диапазоне от -2,147,483,648 до +2,147,483,647. Они используются в тех случаях, когда необходимы операции с целочисленными переменными, выходящими за рамки диапазона целых чисел в представлении BASIC.

Обычной точности (SINGLE) — 4 байта. Используется для значений в диапазоне от -3.402823Е+38 до -1.40129Е-45 для отрицательных значений и от +I.40129E-45 до т3.402823Е+38 для положительных значений.

Алфавит Синтаксис Переменная.

Двойной точности (DOUBLE) — 8 байт. Используется для значений в диапазоне о т -1.797693134862316Е+308 до -4.94965Е-324 для отрицательных значений и от 4.94965Е-324 до 1.797693134862316Е+308 для положительных значений. Обычно применяется для точных математических вычислений, не допускающих потерю значности.

Символьные типы данных

Строка переменной длины (STRING)— это последовательность длиной до 32567 символов из таблицы ASCII. В памяти она занимает столько байт, какова ее длина + 4 байта на описатель.

Строка фиксированной длины (STRING * num) — символьная строка длиною num байт. В памяти такая строка занимает num байт.

Пользовательские типы данных (записи)

Если данные, которые выиспользуете в программе, необходимо сгруппировать по какому-либо признаку, то для этого очень удобно использовать пользовательский тип данных (записи). Он составляется из простых типов данных (числовых и символьных), описанных выше.

Например, нам необходимо ввести табельный номер работника, его фамилию и тарифную ставку.

‘Определим пользовательский тип данных Record

‘с помощью оператора TYPE

TabNomer AS INTEGER

Family AS STRING * 15

Stavka AS DOUBLE

‘Присваиваем переменной Rabotnikпользовательский тип

DIM Rabotnik AS Record

‘Последовательно вводим значение каждого элемента записи

INPUT «Введите табельный номер»; Rabotnik.TabNomer

INPUT «Введите фамилию работника»; Rabotnik. Family

INPUT «Введите тарифнуюставку»; Rabotnik.Stavka

Пользовательский тип данных занимает в памяти столько байт, сколько занимают в сумме каждый из составляющих его элементов. Для нашего примера запись Rabotnik включает целое число (2 байта), строку фиксированной длины (15 байт) и число удвоенной точности (8 байт). Таким образом она имеет размер 25 байт.

Типы данных, определяемые пользователем, могут включать любые типы стандартных данных, кроме строк переменной длины и массивов.

Функция ЕСЛИ в Excel с несколькими условиями (IF) и функция из Excel 2016 ЕСЛИМН (IFS)

Константы

Константами называются заранее предопределенные значения, которые не меняются в процессе работы программы. В качестве примера можно привести число PI, основание натурального логарифма, год Вашего рождения и т.д. Константы удобно использовать для тех величин в Вашей программе, которые не предполагается изменять — число строк, выводимых на экран, значения функциональных клавиш, и т. д.

В языке QuickBASIC имеются 2 типа констант — неименованные и именованные.

Неименованные константы

Они бывают символьные и числовые, и используются в программе в тех случаях, когда их значение заранее известно и не подлежит изменению.

Символьные константы — это последовательность до 32767 алфавитно-числовых символов (за исключением кавычек («) и символов перевода каретки и пропуска строки (CR — ASCII 13 и LF — ASCII 10). Они обязательно должны заключаться в кавычки:

PRINT «Средняя заработная плата»

Числовые константы представляют собой положительные или отрицательные числа. Они могут быть тех же типов, что и переменные — целые или длинные целые типа, обычной или двойной точности:

Целый тип: 68, +407 -1

Длинный целый тип: 95000000, -400141

Обычной точности: 9.0846

Двойной точности: 4.35D-10

Именованные константы

Они также бывают символьные и числовые, тех же типов, чтои неименованные. Чтобы использовать именованную константу, ее необходимо объявить при помощи ключевого слова CONST, например:

CONST MaxArray% = 512

В этом примере объявляется целочисленная константа МахАrrау и ей присваивается значение 512. В дальнейшем к этой константе можно обращаться по имени:

Символьная константа объявляется и используется аналогично:

CONST BAD$ = «mbt120o016eee12c»

При обращении к именованным константам вы можете опускать расширение, как показано в этих примерах.

Использование именованных констант имеет ряд преимуществ по сравнению с использованием для этих целей переменных:

• Однажды определив константу, вы не сможете случайно изменить ее значение. BASIC сразу выдаст сообщение об ошибке «Duplicate Definition» (Двойное определение);

• Именованная константа доступна всем процедурам и функциям данного модуля. В случае же использования переменной, вы должны будете объявить ее как SHARED во всех процедурах и функциях модуля;

• BASIC выполняет операции с константами быстрее, чем с переменными.

Читайте также:
В какой программе делают пиксельные игры

Удобно использовать именованные константы для обозначения функциональных клавиш. Это очень помогает при написании программ — не надо держать в голове, коды этих клавиш — вместо этого можно просто написать:

CONST F1% = 59, F2% = 60, F3% = 61, F4% = 62, F5% = 63

CONST F6% = 64, F7% = 65, F8% = 66, F9% = 67, F10% = 68

SELECT CASE Kod

Переменные

Переменная — эта величина, которая может меняться при выполнении программы. Если привести пример из житейской практики, то можно скачать, что переменная величина, к примеру, сколько у Вас сейчас денег, или ближе к компьютерной практике, сколько свободного места осталось у Вас на жестком диске.

Переменные бывают простые (символьного типа, числового типа и пользовательского типа) и переменные массивы — представляющего собой группу объектов одного типа.

Имена переменных

Имена переменных могут содержать до 40 символов. В имени переменных могут содержаться латинские буквы, числа, десятичная точка, и символы определения типа (%, %»

‘Переменная Flag% – целого типа

в) Использовать оператор описания переменной

‘описываем переменную как целую

DIM Flag AS INTEGER

Длинные целые (LONG) – 4 байта. Используются для значений в диапазоне от — 2,147,483,648до +2,147,483,647. Они используются в тех случаях, когда необходимы операции с целочисленными переменными, выходящими за рамки диапазона целых чисел в представлении BASIC. Присвоить переменной длинный целый тип можно следующим образом:

а) поставить в начало программы оператор объявления длинного целого типа данных DEFLNG (DEFINED LONG):

‘объявить переменные в программе (от В до С)

‘длинного целого типа

‘Переменная BisunessTotal – длинная целая, так как

‘она начинается с буквы В, которая входит в диапазон В-С BisunessTotal = 999999999

б) Явно задать переменную с помощью суффикса «:

‘Переменная BisunessTotal!». Следует учесть, что поскольку переменная в BASIC имеет тип обычной точности по умолчанию, то числовая переменная, у которой указан суффикс «!» и та, у которой этот суффикс отсутствует, считаются одинаковым и не различаются языком BASIC.

‘Переменная SingleValue! – обычной точности, она же

PRINT SingleValue!, SingleValue

в) Использовать оператор описания переменной

‘описываем переменную обычной точности

DIM SingleValue AS SINGLE

Двойной точности (DOUBLE) — 8 байт. Используется для значений в диапазоне от 1.797693134862316Е+308до -4.94965Е-324 для отрицательных значений и от 4.94965Е-324 до 1.797693134862316Е+308 для положительных значений. Обычно применяется для точных математических вычислений, не допускающих потерю значности. Присвоить переменной тип двойной точности можно следующим образом:

а) поставить в начало программы оператор объявления длинного типа данных типа данных DEFLNG (DEFINED LONG):

‘объявить переменные, начинающие с буквы D, а также

‘входящие в диапазон от М до Р, двойной точности

‘начинается с буквы D

б) Явно задать переменную с помощью суффикса «#»

‘Переменная Determinant# – двойной точности

в) Использовать оператор описания переменной

‘описываем переменную двойной точности

DIM Determinant AS DOUBLE

Источник: poisk-ru.ru

Статья №2

Переменная – это величина, которая может меняться в процессе выполнения программы. В Bascom переменная, а следовательно и в микроконтроллере, — это быстрое осуществление доступа к ячейке памяти, данные в которой могут меняться.

В Bascom переменные бывают следующих типов:

В этой статье мы ограничимся пока знакомством с числовыми переменными, а далее, по мере усложнения программ, с остальными.

В Bascom есть следующие типы числовых переменных:

Хранит значение 0 или 1. Используется для хранения состояния кнопки, переключателя, контакта порта ввода/ вывода и др.

Xранит в памяти один байт (8 бит). Используется для хранения числа от 0 до 255 или символа. Часто используется в микроконтроллерах AVR типа tiny, когда память ограничена. Необходимо отметить, что при прибавлении 1 к переменной Byte, имеющей значение 255, она сбрасывается до 0.

Хранит в памяти два байта. Используется для хранения числа от -32768 до +32767. Так как один бит зарезервирован под знак числа, оставшиеся делятся 15 делятся пополам на положительные и отрицательные значения. При переполнении переменной данного типа, её значение изменится с +32767 на -32768.

Хранит два байта информации, не имеющей знака. Для хранения доступны все 16 бит, т.е. числа от 0 до 65535. При переполнении значение 65535 изменяется до 0.

Хранит в памяти 4 байта. Из 32 бит один отводится под знак, а остальные хранят модуль числа от -2147483648 до 2147483647. При переполнении значение переменной +2147483647 изменится на -2147483648.

Четырёхбайтный тип для хранения чисел с плавающей запятой. Запоминает числа от 1.5х10ˆ45 до 3.4×10ˆ38. Используется только для хранения дробных чисел не более девяти знаков после запятой.

Пример описания переменной:

Dim X as Byte ‘ Объявим переменную Х типа Byte

X = 100 ‘ положим в неё число 100

Теперь возвратимся к программе “INT0”, которая была представлена в статье №1. Дело в том, что только идеальная кнопка может строго переключать состояние с разомкнутого на замкнутый и обратно, но таких кнопок в природе, к сожалению, нет. При нажатии и отпускании реальная кнопка выдаёт серию импульсов, называемых дребезгом, длительность которого может достигать 50 миллисекунд.

Читайте также:
Скрытая удаленная установка программ

Таким образом мы получим множество прерываний вместо одного. Поэтому необходимо реализовать функцию антидребезга с помощью введения в программу задержки. Назовём новую программу “INT0 + DEB”. Её блок – схема представлена на Рис.1.

Здесь видно, что в программу введены две задержки: задержка по срабатыванию от внешнего сигнала и задержка после появления слова на дисплее. Таким образом, программа как бы пережидает дребезг и при нажатии кнопки и при её отпускании. Ниже приведена программа “INT0 + DEB”.

Первая задержка создана с помощью функции задержки срабатывания от внешних сигналов DEBOUNCE, а вторая – с помощью Waitms. Они равны, и их длительность составляет по 75 миллисекунд. В остальном же программа идентична программе “INT0”.

config Portd.6 = output ‘PD6-выход

config portd.6 = 0 ‘исходное состояние PD6=0

config PORTD.2 = input ‘PD2-вход

config portd.2 = 1 ‘исходное состояние PD2=1 (подтяжка)

config INT0 = FALLING ‘прерывание INT0 по спаду импульса

config DEBOUNCE = 75 ‘задержка внешних сигналов на 75мс

dim Wtime as Byte ‘объявление переменной типа Byte

on Int0 Displey ‘определение подпрограммы прерывания

cls ‘очистка дисплея

Wtime = 255 ‘величина задержки

Enable INTERRUPTS ‘включение всех прерываний

Enable INT0 ‘вкючение прерывания INT0

do ‘начало цикла

set Portd.6 ‘установка PD6=1

waitms Wtime ‘задержка=255 тактов

reset PortD.6 ‘установка PD6=0

loop ‘конец цикла

Displey: ‘подпрограмма обработки прерывания

Lcd «stop» ‘вывод на дисплей слова Stop

Waitms 75 ‘задержка 75мс

return ‘оператор возврата из подпрограммы

end ‘end program

Cама программа находится в папке приложение 1 данной статьи.

Теперь пришло время поговорить о таймерах. Как известно микроконтроллер ATtiny2313 имеет четыре таймера: два восьмибитных таймера – счётчика (0А и 0В) и два шестнадцатибитных таймера – счётчика (1А и 1В), однако скачанная автором из интернета версия Bascom не поддерживает данные таймеры, поэтому мы будем говорить о Timer0 и Timer1 (версия для AT90S2313). Однако все сказанное ниже в полной мере справедливо и для ATtiny2313.

Восьмибитный таймер – счётчик (Timer0) может принимать значение от 0 до 255. С помощью команды Config мы можем задать ему коэффициент деления частоты:

Config Timer0 = Timer, Prescale = 1|8|64|256|1024

Здесь Timer0 настроен на счёт. Он считает тактовые импульсы с выхода делителя с переменным коэффициентом деления 1, 8, 64, 256, 1024. Если тактовая частота контроллера 4МГц, а коэффициент деления 1024, тогда таймер будет увеличивать значение через каждые 0.256 миллисекунд (1024/4000000 Гц) и будет переполняться каждые 65 миллисекунд (255 х 0.256). Timer1 подобен Timer0, но считает, поскольку он шеснадцатибитный, до 65535. Таймеры начинают осчёт сразу после конфигурации.

Таймеры можно запустить и остановить в любой момент командами Start и Stop. Например: Start Timer0 и Stop Timer0 или Start Timer1 и Stop Timer1.

Информацию из таймера можно считать и вывести, например, на дисплей:

Источник: avr.ru

Константы и переменные языка Бейсик

Из алфавита языка программирования могут быть сформированы функционально законченные элементарные конструкции, которые называются синтаксическими единицами. Если провести аналогию с разговорным языком, например русским, то это отдельные слова: существительные, глаголы, междометия и т.д.

Синтаксические единицы условно можно разбить на следующие виды:

Константы – это фиксированные величины, которые в процессе вычислений не изменяют своих значений. В Бейсике используются константы двух типов – числовые и символьные.

Числовые константы – это десятичные числа, которые состоят из десятичных цифр или десятичных цифр и дополнительных символов. В свою очередь, числовые константы можно разделить на целые и вещественные.

Целые константы – это целые числа, которые записываются в виде последовательности десятичных цифр, перед которой может стоять знак + или –. Числа без знака воспринимаются положительными. Бейсик допускает использование как целых чисел в диапазоне от –32768 до 32768, так и длинных целых чисел в диапазоне от –2147483648 до 2147483648.

Примеры записи целых чисел:

Математическая запись Запись на языке Бейсик
41 или +41
-39 -39
-2147483648 -2147483648

Вещественные числа при переводе в двоичную систему счисления представляют собой, как правило, бесконечные дроби и округляются в пределах формы записи. Поэтому эти числа представляются в памяти приближенно.

Допускается запись вещественных чисел:

~ в основной форме – числа с фиксированной точкой;

~ в форме с порядком – числа с плавающей точкой.

Числа с фиксированной точкой – это дробные десятичные числа, у которых дробная часть отделяется от целой части десятичной точкой. Они могут быть записаны следующим образом:

где N и М – последовательности десятичных цифр.

Десятичная точка в записи этого числа обязательна. Знак + или — записываются в начале константы. Число без знака воспринимается положительным.

Читайте также:
Программа чтобы переводить видео

Примеры записи чисел с фиксированной точкой:

Математическая запись Запись на языке Бейсик
Верно Неверно
0. или 0.0 или.0
4. или 4.0 4 или +.4
-1,0 -1.0 или -1. .1 или -1,0
-1,5 -1.5 1.5 или -1,5

Числа с плавающей точкой – запись чисел представленных в математике в показательной форме. На языке бейсик они записываются:

и имеют в записи отличия по основанию степени и где N и М — последовательность десятичных цифр.

Для чисел одинарной точности N + М = 6.

Для чисел удвоенной точности N + М = 14.

Е – основание степени для чисел одинарной точности, т.е. число 10.

D – основание степени для чисел удвоенной точности, т.е. число 10.

S – порядок числа, выражается целой константой, состоящей из одной или двух десятичных цифр.

Положительный знак числа и показателя степени можно не указывать.

Примеры записи чисел с плавающей точкой одинарной точности:

Математическая запись Запись на языке Бейсик
Верно Неверно
123,4∙10 -2 = =1,234= =0,1234∙10 1 123.4Е-2 123.4*10**(-2)
1.234Е00 1.234*10
0.1234Е1 0.1234*Е1

Примеры записи чисел с плавающей точкой удвоенной точности:

Математическая запись Запись на языке Бейсик
Верно Неверно
1234,5678∙10 -2 = =12345678∙10 -6 = =0,12345678 1234.5678D-2 1234.5678*10**(-2)
12345678.D-6 12345678D-6
0.12345678D2 .12345678E2

Символьная константа представляет собой последовательность любых символов алфавита. Значения символьных констант заключается в кавычки. Примеры записи символьных констант: ”Кстовский нефтяной техникум”, ”Array”, ”sin(x)= ”.

Переменная – это величина, которая может меняться при выполнении программы. При изучении алгебры дается понятие переменной величины. Например, в простом алгебраическом равенстве c = f + 2b – 5 значение переменной с зависит от значения переменных f и b, указанных в правой части равенства.

Если f= 2 и b= 6, тогда с= 9. Такое же равенство можно записать в программе на Бейсике: c = f + 2*b – 5. В терминах языка Бейсик c, f и b – это имена переменных. Такие имена также называют идентификаторами.

Кроме имени переменная характеризуется типом. Переменные – это величины, которые имеют определенное значение в каждый момент выполнения программы, а оно может быть как числовым, так и символьным. Для хранения значения переменной выделяется поле памяти компьютера.

Тип переменной, определяемый ее значением Символ, определяющий тип переменной Описание типа переменной Объём поля памяти Пример значения переменной
Целые числа % integer 2 байта 17; -123
Вещественные числа ! single 4 байта 314.15; 3.1415Е+2
Символьный $ string min 1 байт язык
Длинные целые числа ! – вещественная переменная обычной точности; # — вещественная переменная двойной точности; $ — символьная переменная, а также может определяться специальным оператором задания типа.

Арифметические выражения

Выражением называется последовательность операций, которые необходимо произвести над данными, чтобы получить требуемое значение.

В Бейсике существует четыре вида выражений:

• арифметические;

Арифметическое выражение – это аналог обычной арифметической (алгебраической, математической) формулы. Результатом его вычисления является целое или вещественное число. Любое математическое выражение на Бейсике записывается в виде строки и может содержать: числовые константы, числовые переменные, математические функции, знаки математических операций, систему скобок. Понятие числовых констант и числовых переменных было уже дано выше, поэтому рассмотрим последующие три составляющие арифметических выражений.

Функция – это заранее определённая операция над данными, математическая функция – это функция, значением которой является число. Вот некоторые примеры математических функций встроенных в транслятор Бейсика:

Название функции Запись в математике Запись в Бейсике Пример в Бейсике
Абсолютная величина |x| ABS(X) ABS(-5)
Экспонента e x EXP(X) EXP(5)
Логарифм натуральный ln x LOG(X) LOG(3)
Квадратный корень SQR(X) SQR(4)
Синус sin x SIN(X) SIN(3.14)
Косинус cos x COS(X) COS(1)
Тангенс tg x TAN(X) TAN(2)
Целая часть числа [x] INT(X) INT(13.5)
Арктангенс arctg x ATN(X) ATN(3)
Знак числа SGN(X) SGN(-5)

Таким образом, в Бейсике обращение к функции осуществляется по ее имени, а аргумент обязательно записывается в скобках. При вычислении арифметического выражения значения функций определяются в первую очередь еще до выполнения математических операций.

В Бейсике допустимы следующие арифметические операции:

Название операции Знак в математике Знак в Бейсике Пример в математике Пример в Бейсике
Возведение в степень нет ^ 2 5 2^5
Умножение · * 2·5 2*5
Деление : / 10:2 10/2
Сложение + + 5+10 5+10
Вычитание a–b a–b
Остаток от деления нет mod нет 17 mod 3 (результат 2)
Деление нацело нет нет 173 (результат 5)

Заметим, что операции указаны в вышеприведенной таблице в порядке уменьшения приоритета.

Действия в арифметических выражениях выполняют слева направо в зависимости от их приоритета. Для того чтобы изменить естественный порядок действий, используются круглые скобки. Выражения в круглых скобках выполняются в первую очередь. Заметим, что понятие система скобок означает то, что в выражении всегда должно совпадать количество открывающихся скобок с количеством закрывающихся скобок.

Примеры записи чисел математических выражений на языке Бейсик:

Математическое выражение запишется на языке Бейсик в виде: ((sin(x^3)–cos(x)^2)/(sqr(x–8.5)+1.75E-6))^(1/5)+exp(x+1)/5/abs(x)

Источник: cyberpedia.su

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru