Файл: Понятие переменной в программировании. Виды и типы переменных (Имена переменных).pdf
Добавлен: 28.06.2023
Просмотров: 129
Скачиваний: 2
Введение
В данной курсовой работе будет раскрыто понятие переменной, её виды и типы. Так же я затронул тему операторов присваивания, классификации и области действия переменных, в том числе на примере Visual Basic. Более подробно раскрыты понятия простых и сложных переменных, операторов присваивания, статистической и динамической типизации.
Понятие Переменная в программировании.
Данные хранятся в ячейках памяти компьютера. Когда мы вводим число, оно помещается в память. Но как узнать, куда именно? Как в последствии обращаться к этим данными? Раньше, при написании программ на машинном языке, обращение к ячейкам памяти осуществляли с помощью указания регистров. Но уже с появлением ассемблеров, при обращении к данным стали использовать так называемые переменные. Механизм связи между переменными и данными может различаться в зависимости от языка программирования и типа данных. Пока достаточно запомнить, что данные связываются с каким-либо именем и в дальнейшем обращение к ним возможно по этому имени.
В программе на языке Python связь между данными и переменными устанавливается с помощью знака =. Такая операция называется присваиванием. Например, выражение sq = 4 означает, что на объект (данные) в определенной области памяти ссылается имя sq и обращаться к ним теперь следует по этому имени.
Имена переменных могут быть любыми. Однако есть несколько общих правил их написания:
- Желательно давать переменным осмысленные имена, говорящие о назначении данных, на которые они ссылаются.
- Имя переменной не должно совпадать с командами языка (зарезервированными ключевыми словами).
- Имя переменной должно начинаться с буквы или символа подчеркивания (_).
Чтобы узнать значение, на которое ссылается переменная, находясь в режиме интерпретатора, достаточно ее вызвать (написать имя и нажать Enter).
Пример работы с переменными в интерактивном режиме:
>>> apples = 100
>>> eat_day = 5
>>> day = 7
>>> apples = apples - eat_day * day
>>> apples
65
>>>
Таким образом одним из важнейших понятий в языках программирования является понятие переменной. При программировании в машинных кодах выполнение простейшей арифметической операции над двумя числами требуется указать код операции, адреса ячеек оперативной памяти, где хранятся эти числа, и указать адрес ячеек памяти, где будет храниться результат операции. При выполнении такой программы по команде процессора данные передаются из этих ячеек на регистры процессора (так называются ячейки памяти процессора), где над ними и производится определенная операция. Иногда, согласно алгоритму задачи, результат может помещаться, записываться в ту же ячейку памяти, в которой хранилось одно из чисел, над которым выполнялась операция. В этом случае прежнее значение данных будет заменено новым.
В языках программирования высокого уровня аналогом этих ячеек памяти является переменная. Отсюда следующее определение.
Переменная–это именованная область памяти, где хранятся данные, с которыми производятся в программе определенные операции, действия и которые могут изменяться при выполнении программы. Само название «переменная» предполагает ее изменчивость.
Важнейшее положение языков программирования: «После присвоения переменной некоторого значения вместо этого значения можно использовать переменную. Это равносильно использованию самих значений.». Именно в этом состоит основный смысл введения переменных в языках программирования.
Тип данных |
Размер |
Диапазон значений |
Пример использования |
Interger (Целое) |
2 байта |
от -32 768 до 32 767 |
Dim Bird% Bird% = 37 |
Long Integer (Длинное целое) |
4 байта |
от -2 147 483 648 до 2 147 483 647 |
Dim Loan& Loan& = 350,000 |
Single - precision Floating point (Одинарной точности с плавающей десятичной точкой) |
4 байтa |
от -3.402823E38 до 3.402823E38 |
Dim Price! Price! = 899.99 |
Double - precision Floating point (Двойной точности с плавающей десятичной точкой) |
8 байт |
от -1.79769313486232D308 до 1.79769313486232D308 |
Dim Pi# Pi# = 3.1415926535 |
Currency (Денежные единицы) |
8 байт |
от -922337203685477.5808 до 922337203685477.5807 |
Dim Debt@ Debt@ = 7600300.50 |
String (Строка) |
1 байт на символ |
от 0 до 65 535 символов |
Dim Dog$ Dog$ = "pointer" |
Boolean (Логический) |
2 байт |
True (Истина) или False (Ложь) |
Dim Flag As Boolean Flag = True |
Date (Дата) |
8 байт |
от January (Январь)1, 100, до December (Декабрь) 31, 9999 |
Dim Birthday As Date Birthday =#3-1-63# |
Variant (Вариант) |
16 байт (для чисел); 22 байт на символ (для строк) |
для всез типов данных |
Dim Total Total = 289.13 |
В расчетных задачах можно выделить переменные, являющиеся начальными данными, переменные для хранения промежуточных результатов и результирующие переменные, для вычисления которых и формулируется задача.
Именно использование переменных в программе позволяет выполнять одну и ту же программу с различными начальными значениями переменных без изменения кода программы.
После трансляции программы в машинные коды каждой переменной в компьютере выделяется определенная область оперативной памяти со своим адресом. Делают это трансляторы при переводе кодов программы, написанной программистом, в машинные коды и операционная система.
Но при разработке программы программиста совершенно не волнует, какой будет адрес выделяемой память и величина этой памяти для хранения значений переменных. Главное, если программист каким-либо способом задал, присвоил переменным какие-то значения, то в любых выражениях программы, где будут встречаться эти переменные, их значения будут подставляться вместо переменных.
Имена переменных
Каждая переменная должна иметь уникальное имя. Программист сам решает, исходя из постановки задачи и ее алгоритма, какие имена давать переменным. Рекомендуется переменным давать смысловые, информационные имена.
Некоторые требования при задании имен переменным:
- имя должно начинаться с буквы;
- имя может содержать любые буквы и цифры;
- в имени не должно быть пробелов;
- имена нельзя называть ключевыми словами VisualBasic;
- в пределах области видимости имя должно быть неповторимым (уникальным).
Последнее требование будет ясно позже, после знакомства с областью видимости переменных. Примеры разрешенных и неразрешенных имен:
Допустимые имена:
sngX, Data_Rogdenya, strNomerGruppi
Фамилия, NameStudent, Цена, Num_Room, D25
Недопустимые имена:
Date of Work, 5Numer, Next
(Next– слово из оператора циклаVB, ключевое словоVB).
В Visual Basic можно задавать имена переменным на русском языке.
Типы данных
Как уже указывалось, после трансляции программы в машинные коды разным переменным будут выделены свои и разные по величинеучастки памяти. Величина выделяемой памяти зависит оттипа данного, которое будет храниться в переменной. Но поскольку данные хранятся в переменных, то можно говорить отипах переменных. Приведем базовые типы переменных, используемые вVB:
- целочисленные: байтовый – Byte (1)1 – префикс byt, значения: от 0 до 255; целый – Integer (2) – префикс int, значения целого: от –32768 до 32767; длинное целое – Long (4) – префикс lng, значения: от –2147483648 до 2147483648;
- действительные с плавающей точкой: одинарной точности – Single (4) – префикс sng, значения: от –3,438…-1,445 до 1,4-45…3,438; двойной точности – Double (8) – префикс dbl, значения: от –1,7-308… -4,9-324 до 4,9-324… 1,7308;
- действительные с фиксированной точкой, денежный: Currency (8) – префикс cur, значения: целая часть – 15 цифр, дробная – до 4;
- строковые: String – префикс str, (фиксированной длины – 1б на символ), String (переменной длины, (22 + 1)б на символ);
- логические – Boolean (2) – префикс bln, значения: True (Истина) или False (Ложь);
- объектные: Object (4) – префикс obj;
- произвольные: Variant – префикс vnt, (16 – для чисел; 22 – для 1-го символа);
- даты: Date (8) – префикс dtm.
Здесь приводится префикс для каждого типа переменных. Это придумка венгерских программистов. Префикс пишется строчными буквами в начале имени переменной и указывает на ее тип. Вводить префикс рекомендуется в больших программах. Примеры переменных с префиксом приведены в следующем параграфе.
Выбор типа переменных – забота программиста. Если тип переменной выбран неправильно, выполнение программы может сразу или в один «прекрасный» момент прерваться. Например, если при определении суммы натуральных чисел S = 1 + 2 + 3 + …+ n переменную S объявить как Integer, то при сложении 256 чисел (n = 256) и более будет переполнение, так как сумма будет превышать число 32767, которое является максимальным для переменной целого типа.
Следовательно, при выборе типа переменной программиста должны интересовать предельные значения переменных определенного типа, чтобы переменные программируемой задачи полностью соответствовали выбранному типу по своим возможным значениям.
Объявление переменных
Рассмотрим объявление переменных на примере языка Visual Basic.
В начале программы (процедуры) переменную рекомендуется объявлять с помощью оператора Dim (или Public, или Private, или Static). После оператора Dim (от английского Dimension – размер, величина) пишется имя переменной, затем ключевое слово As (как) и название типа переменной. Например:
Dim sngY As Single, curЦена As Currency, i As Integer
Dim ДатаРожд As Date
Static Баллы As Integer
Здесь переменные sngY иcurЦена приведены с префиксами.
Имена переменных еще называют идентификаторами (от английского Identification–отождествление, распознавание, обозначение). Интересно, что все возможные слова перевода соответствуют сути идентификатора, имени переменной.
В VB объявление переменных не обязательно. Но лучше, во избежание возможных ошибок программирования, приучить себя обязательно объявлять переменные. Для этого достаточно ввести в разделе General Declarations Окна написания кодаоператор Option Explicit. После этого VB не пропустит ни одного необъявленного переменного.
Другие, краткие способы объявления переменных здесь не рассматриваются. В кратких способах объявления переменных тип переменных может не указываться. Но следует знать, что если тип переменной не объявлен, она имеет тип Variant. А в этом случае переменной можно присвоить значение любого типа данных.
Оператор присваивания
Как уже указывалось выше, перед использованием переменной в программе необходимо ей присвоить значение. Это делается с помощью оператора присваивания, который известен всем как знак равенства «=». Операция присваивания имеет следующий синтаксис:
Имя Переменной = Выражение
В качестве выражения может быть записана не только формула, но и константа (числовая, текстовая, дата, значение логической переменной и т. д.). Понимается этот оператор так: «Значение выражения, которое всегда записывается справа от оператора присваивания, присваивается переменной, имя которой всегда записывается слева от знака присваивания».
Например:
A= 125
Fam = “Сидоров И.В.”
Y = Sin(x) + Cos(x/2)
k = k + 1
В третьей строке примера вычисляется выражение и его значение присваивается переменной Y. Следует отметить, что переменная х обязательно должна получить некоторое значение перед вычислением выражения Sin(x) + Cos(x/2), иначе случится аварийный останов программы.
Оператор типа k = k + 1 называется счетчиком. Счетчик демонстрирует отличие знака равенства от оператора присваивания. С точки зрения алгебры выражение для счетчика – полная бессмыслица, так как, сократив k, мы получаем, что 0 = 1 (!?). А согласно правилам программирования – величина k увеличивается на 1. Действительно, в выражении справа значениеk, которое имело оно к моменту выполнения этого выражения, складывается с 1 и присваивается опять же переменной k.
Сохранение данных в переменных А, Fam, Y, kс помощью оператора присваивания показано во всех приведенных кодах примера.
Получение данных из переменных х и k демонстрируют третий и четвертый коды примера. Это происходит всегда, когда имена переменных записываются в выражениях, следующих после оператора присваивания “=”. При выводе переменных с помощью оператора Print также происходит получение данных из переменных, если их имена записаны после этого оператора.
Область видимости переменных
При программировании необходимо не только объявить все используемые переменные с правильным заданием их типов, но и определить область их видимости. Поясним, что это такое.
Все переменные, объявленные только в событийной процедуре, нигде больше не могут быть использованы. Если их имена ввести в любой оператор другой процедуры, то это будут уже другие переменные, но с такими же именами. Такие переменные называются локальными в процедуре.