Файл: Понятие переменной в программировании. Виды и типы переменны.pdf
Добавлен: 29.03.2023
Просмотров: 68
Скачиваний: 1
— Деление на ноль — является некорректной операцией. — вызывают аппаратное прерывание работы процессора.
Запись вещественных констант
Вещественные константы записываются в двух формах — с фиксированной десятичной точкой или в экспоненциальном виде. 1.2 , 0.725, 1. , .35 , 0 Отметим, что в программировании именно точка, а не запятая используется для отделения дробной части; запятая обычно служит для разделения элементов списка.
Экспоненциальная форма записи вещественной константы содержит знак, мантиссу и десятичный порядок (экспоненту).
Мантисса — это любая положительная вещественная константа в форме с фиксированной точкой или целая константа.
Порядок указывает степень числа 10, на которую домножается мантисса. Порядок может иметь знак плюс или минус.
1.5e + 6 —> 1 500 00.0
1e-4 —> 0.0001-.75e3 —> -750.0
Вещественные типы аппаратно могут иметь два предоставления: вещественные числа с фиксированной точкой и вещественные числа с плавающей точкой. Как правило, по умолчанию компиляторы преобразуют вещественные значения в экспоненциальный формат (формат с плавающей точкой).
Символьные переменные
Значением символьной переменной является один символ из фиксированного набора. Такой набор обычно включает буквы, цифры, знаки препинания, знаки математических операций и различные специальные символы (процент, амперсенд, звездочка, косая черта и др.)
Симолы представляются их целочисленными кодами в некоторой фиксированной кодировке. Кодировка определяется тремя параметрами:
1) диапазон значений кодов. например ASCII. стандартный код обмена информацией. от 0 до 127. требует 7 бит на символ. большинство современных кодировок имеют диапазон кодов от 0 до 255, т.е. 1 байт на символ. Unicode, — диапазон от 0 до 65535 — т.е. 2 байта (16 бит) на символ.
2) множеством изображаемых символов.
3) отображением множества кодов на множество символов. кодировки кои-8, cp-1251, итд.
В языке C++ для Unicode существует тип wchar_t в котором под каждый символ отводится 2 байта.
Логические переменные и выражения
Логический тип данных bool, реализуется 1 байтом
Логические или условные выражения используются в качестве условия в конструкциях ветвления «если… то… иначе… конец если» и цикла «пока».
Любая операция сравнения имеет два аргумента и вырабатывает логическое значение «истина» и «ложь» (true и false)
Операции сравнения:
— Проверка равенства: ==
— Неравенство обозначается: !=
— Для сравнения величин выражений применяется четыре операции: больше > ; меньше < ; больше или равно >= ; меньше или равно <=
x == 0 // истина, если значение x равно 0
0 != 0 // ложь
3 >= 2 // истина
Логические выражения
0 < = x && x <= 1x != 0 or y != 0
1.2 Виды и типы переменных
В программировании переменная задается именем, определяющим область оперативной памяти компьютера, куда во время работы программы можно занести и хранить в закодированном виде некоторое значение (целое или вещественное число, последовательность символов, логическое значение), которым при необходимости можно пользоваться и которое можно изменять. Таким образом, переменную можно представить себе как ящик с какими-либо данными, на котором написано его название.
Основными характеристиками переменной являются:
· Имя - переменные задаются именами, определяющими область памяти, в которой хранится значение переменной.
Имя любой переменной уникально и не может изменяться в процессе выполнения программы. Имя переменной должно обязательно начинаться с буквы. Например: А, MAX, t1
· Тип – тип переменной определяется типом данных, которые могут быть значениями переменных.
· Значение - значениями переменных могут быть данные различных типов (целое или вещественное число, последовательность символов, логическое значение и т.д.). Например: 5, -3.14 (запятая в десятичных дробях заменяется точкой), «результат» (текст - это любой набор знаков, взятый в кавычки).
Тип переменной определяет размер области памяти для хранения переменной и какие операции допустимы с этой переменной (например, над числовыми переменными возможны арифметические операции, над строковыми – операции преобразования символьных строк, над логическими – логические операции).
Таблица 1 - Типы переменных
Тип переменной |
Возможные значения |
Объем занимаемой памяти |
Обозначение в QBasic |
Обозначение в Visual Basic |
Числовая целого типа |
Целые числа от -32768 до 32767 |
2 байта |
А% |
intA |
Числовая вещественного типа |
Десятичные числа одинарной точности |
4 байта |
А |
sngA |
Десятичные числа двойной точности |
8 байтов |
А! |
dblA |
|
Символьная |
Строка символов |
1 байт на каждый символ |
А$ |
strA |
Логическая |
Логическое значение True или False |
2 байта |
blnA |
Значение переменной, занесенное и хранимое в ячейке с ее именем, может быть различным по типу числом (целым или действительным) либо символьным текстом. В соответствии со значением переменные называются целыми, действительными, символьными. Очевидно, что операции, которые можно произвести с числами, нельзя осуществить с символьным текстом Объем памяти для хранения разных по типу значений тоже потребуется различный. Это ясно уже потому, что при хранении целого числа занимать место под нулевую дробную часть было бы нерационально. Поэтому в некоторых языках программирования предусмотрены операторы, объявляющие тип переменной с указанным именем, например integerA. Следовательно, для хранения значений А в этом случае будет отведено столько места, чтобы поместить знак и собственно целую часть. В других языках программирования прямо в имени переменной употребляют значки (символы), чтобы указать транслятору, сколько может понадобиться места под хранение значения данной переменной (неявное указание типа). Например, имя переменной А% содержит указание, что ее значением может быть только целое число, и только для него хватит места, отводимого в оперативной памяти. Более того, указание типа данных, которые могут стать значениями переменной, с помощью правил задания имени переменной позволяет компьютеру контролировать правомерность требуемых по отношению к переменной операции. Так, если имя переменной А%, то по отношению к ее значению будет ошибкой употребление команды «определить длину значения», которая уместна лишь для символьного текста. А если имя переменной содержит указание на вещественный или целый тип ее допустимого значения, то в ячейку с этим именем нельзя занести символьный текст. Ограничения, налагаемые на операции со значениями в зависимости от их типа, следовательно, требуют соответствующих ограничений на операции с именами переменных. Приведем несколько поясняющих примеров.
Выполнение программы будет прервано с выдачей сообщения об ошибке из-за несоответствия типов, если встретится команда, где будут одновременно присутствовать имена переменных или константы символьного типа и вещественного и/или целого.
На работе программы и получаемом результате никак не отразится занесение целого числа в ячейку, предназначенную, в соответствии с именем переменной, для значений вещественного типа. В этом случае автоматически будет образована нулевая дробная часть, а участвовать целые и действительные числа могут в одинаковых операциях (что соответствует известному включению области целых чисел в область действительных).
Если же действительное число станет значением переменной целого типа, то из-за отсутствия места для хранения дробной части последняя просто будет отброшена (произойдет преобразование типа значения), что в этом случае равносильно потере точности расчета. Это может оказаться незамеченным при получении результата, так как такое несоответствие типов значения и переменной не вызывает прерывания в работе программы.
Вывод
Следовательно, имя переменной не только удобным образом заменяет в программе числовой адрес ячейки в ОЗУ, а в случае индексированных переменных обязывает программиста позаботиться о выделении непрерывной области, но и указывает своим типом, какой объем памяти выделить под хранение ее значений, а также несет смысловую нагрузку и указывает, какие операции с этой переменной допустимы.
2. Практическое использование переменных в программировании
2.1 Основные элементы программирования
Знакомство с основными элементами программирования VisualBasic начинается с понятия переменной. Кто уже знаком с этим понятием из системы программирования QBasic, легко обнаружит отличия, которые переменные имеют в VisualBasic.
1. Переменные, оператор присваивания
В языках программирования одним из важнейших понятий является понятие переменной.
Определение переменной
Вспомним элементарную алгебру и решим простую задачу.
Задача. Вычислить функцию
Y=ax2+bx+c
при значениях коэффициентов и аргумента:
а = 3; b= - 4;c= 5; х = 2.
Без всякого программирования мы подставим значения а. b, c, x в формулу Y= 3٠22– 4٠2 + 5, произведем соответствующие арифметические действия и получим в результате Y= 9.
При программировании этой задачи фрагмент программы будет выглядеть так: a = 3, b = - 4, c = 5, x = 2
Y = a*x^2 + b*x + c
Print “Y = “; Y
Здесь все вычисления закодированы в соответствие с правилами языка VisualBasic. Чтобы было понятней, вспомним, что кодирование –это выражение одного типа данных через другой тип данных.
Эти же вычисления можно запрограммировать, закодировать и так:
k1 = 3
k2 = - 4
k3 = 5
x = 2
Y = k1*x^2 + k2*x + k3
Print “Y = “; Y
Результат вычисления Y не изменится.
Оба варианта программы практически повторяют постановку задачи. Однако это только по внешнему виду. Так, знаки равенства в программе – это не знаки «равно», а операторы присваивания. С помощью них коэффициентам присваиваются численные значения, записанные справа от знака присваивания. Умножение, возведение в степень закодированы с помощью специальных символов* и ^.
Оператор Print выводит информацию на формы (или в графические поля). Все, что после оператора Print записано в двойных кавычках, это текст. Он выводится без изменений, что записано, то и выводится. Если далее пишется переменная, то выводится ее значение. Поэтому на форме появится: Y= 9. В операторе Print после текста стоит символ «точка с запятой» (;). Это разделитель. В этом случае значение переменной выводится сразу за текстом. Если же после текста поставить разделитель – запятую, то вывод значения переменной произойдет через 14 символов, считая от края формы.
Однако при вычислении Y одни слова, буквы перемножаются на другие (почти как в алгебраическом выражении), слова, буквы возводятся в квадрат и складываются тоже слова, буквы. Но если результат получается правильным, следовательно, на каком-то этапе выполнения программы происходит передача численных значений коэффициентов и аргумента Х в формулу. Происходит это в момент выполнения программы после ее перевода (трансляции) в машинные коды.
При программировании в машинных кодах выполнение простейшей арифметической операции над двумя числами требуется указать код операции, адреса ячеек оперативной памяти, где хранятся эти числа, и указать адрес ячеек памяти, где будет храниться результат операции. При выполнении такой программы по команде процессора данные передаются из этих ячеек на регистры процессора (так называются ячейки памяти процессора), где над ними и производится определенная операция. Иногда, согласно алгоритму задачи, результат может помещаться, записываться в ту же ячейку памяти, в которой хранилось одно из чисел, над которым выполнялась операция. В этом случае прежнее значение данных будет заменено новым.
В языках программирования высокого уровня аналогом этих ячеек памяти является переменная. Отсюда следующее определение.
Переменная– это именованная область памяти, где хранятся данные, с которыми производятся в программе определенные операции, действия и которые могут изменяться при выполнении программы.
Само название «переменная»предполагает ее изменчивость.