Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Понятие переменной в программировании. Виды и типы переменных

Содержание:

Введение

Программирование – процесс создания компьютерных программ с помощью языков программирования.

Языки программирования включают такие понятия как:

  • переменные и типы данных
  • массивы данных функции
  • объекты
  • операторы
  • выражения

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

Таким образом, актуальность заявленной тематики, на наш взгляд, обусловлена.

Стоит отметить также, что переменные в программировании отличаются от математических переменных, также используемых в областях техники и естественных наук. Так, например, в задаче найти произведение Z двух натуральных чисел X и Y с помощью вычислительной машины, умеющей выполнять только сложение, необходимо написать программу, обуславливающую данное решение. А так как программа должна быть универсальна: вычислять произведения для любой пары натурных чисел, – то, вместо чисел в ней употребляются имена, обозначающие изменяемые объекты, которые называются переменными и нам придётся присвоить определённые имена/значения переменным, либо описать, что такое произведение, а также решить вопрос с натуральными числами. Именно этим (условно) многообразием проблем и определяется многообразие языков и методов решения работы с переменными.

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

Объект исследования: переменные в программировании.

Предмет исследования: структура и типы переменных в программировании.

Цель работы: рассмотреть понятие переменной в программировании и привести виды и типы переменных.

Для реализации поставленной цели необходимо решить следующие задачи:

- рассмотреть понятие переменной;

- привести виды и типы переменных;

- разобрать основные элементы программирования;

- выполнить анализ работы с переменными в различных языках.

1. Понятие и типы переменной

1.1 Понятие переменной

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

В абсолютном большинстве языков программирования, «переменная» — это некая ячейка памяти, предназначенная для хранения в себе какой-либо информации: чисел, символов, логических значений (истина\ложь) и многого другого, а современные языки программирования позволяют создавать собственные типы данных. Кроме того, переменные позволяют не только удобно манипулировать данными, но и разделять их на типы, с которыми можно работать по определённым правилам.

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

Прежде чем использовать переменную необходимо:

  1. Объявить переменную – сообщить программе имя и тип переменной, которую требуется использовать.
  2. Присвоить переменной значение - передать переменной значение для хранения.

После этого можно непосредственно использовать переменную – извлечь значение, содержащееся в переменной, и использовать его в программе.

Для того чтобы объявить переменную, необходимо указать её тип и записать её имя. Например, в языке C++ это выглядит следующим образом:

int z; // переменная z целого типа

int, используемое в первой строке, является сокращением от англ. integer – целый.

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

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

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

Помимо определения типа переменной, перед началом вычислений переменным присваиваются значения.

Присвоение переменной х значения 7 можно представить следующим образом: положить в ящик, с именем х, 7 шаров (ящик подразумевает ячейку памяти компьютера).

Значение переменной x можно переслать в другую переменную. В данной операции значение пересылаемой переменной x не изменится. Например, допустим, было x:=7, то присвоение h значения x записывается в виде:

h: = x; //h присвоить значение x,

т.е. необходимо посмотреть, какое число находится в ячейке памяти х, и такое же число присвоить переменной h, при этом х сохраняет свое значение (х=5). Следует отметить, что знак "=" обозначает не равенство, а операцию присваивания.

В программировании часто используется операция присваивания, когда слева и справа используется одна переменная. Например:

h:=h+1; //новое значение переменной h равно ее старому значению плюс 1.,

Присваивание – это замена старого значения переменной на новое. Старое значение стирается бесследно.

Таким образом, произведение чисел x и y может быть получено как сумма, состоящая из y штук слагаемых, каждое из которых равно x: z=x*y = x+x+x+...+x

Но данная формула — не программа, потому, что в ней есть неопределенность – многоточие.

Для решения нашей задачи, нужно выполнить следующие шаги:

Положить z=0.

Далее выполнить операцию «z = z + x» y раз. После каждого выполнения данной операции значение z увеличивается на x. В итоге в z получается результат решения задачи.

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

Для этого используем вспомогательную переменную u. Будем называть ее счетчиком. Перед первым прибавлением, положим u =1 и после очередного изменения z значение счетчика u будет изменяться на 1. Тогда программу можно записать так:

1 z=0

2 u=1

3 z=z+x

4 u=u+1

5 если u≤y идти к п.3 (повторить выполнение операций, начиная с п. 3)

6 закончить вычисления

Поясним:

1. Операторы 1, 2 задают начальные значения переменных z и u. Оператор — это элемент языка, задающий полное описание действия, которое необходимо выполнить. В нашем примере операция присваивания.

2. Оператор 3 каждый раз увеличивает значение z на x.

3. Оператор 4 увеличивает значение счетчика на 1 после того, как выполнено очередное сложение.

4. Оператор 5 проверяет выполнение условия u≤y: если оно выполняется, т. е. не все y сложений еще выполнены, то происходит возврат к команде 3 и ее повторное выполнение; если условие u≤y не выполняется, процесс вычислений закончится. Это произойдет, когда будет u>y, т. е. все нужные сложения выполнены.

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

Обобщая всё вышесказанное, переменная – именованная область оперативной памяти (контейнер), в которую можно занести и хранить в закодированном виде некоторое значение (целое число, текстовая строка, дата, массив и т. д.), которое в ходе выполнения программы можно изменять.

Данное определение даёт самое общее представление о понятии переменной. Однако оно может варьироваться в зависимости от парадигмы программирования: либо это поименованная (адресуемая иным способом) область памяти, либо имя, с которым может быть связано значение, или место (location) для хранения значения. Кроме того, с переменной связано ещё такое понятие, как область видимости и/или время существования переменной, которое в некоторых языках задаётся классом памяти.

1.2 Виды и типы переменных

Существует общая классификация переменных в зависимости от:

  • этапа определения типа данных (на этапе компиляции данных или выполнения программы): статическая или динамическая типизация переменных;
  • времени создания переменной (на этапе компиляции данных или выполнения программы): статическая или динамическая переменная;
  • по зоне (области) видимости (конкретной подпрограмме, всей программе или общие переменные): локальные или глобальные переменные. При этом, область видимости иногда задаётся классом памяти, а ограничение видимости может производиться путём введения пространств имён.
  • внутренней структуре (не имеющие внутренней структуры, доступной для адресации, позволяющие программисту адресоваться только «в целом» либо имеющие внутреннюю структуру с возможностью обратиться напрямую к любому элементу): простые или сложные (составными) переменные. Самыми характерными примерами сложных типов являются массив (все элементы однотипные) и запись (элементы могут иметь разный тип).

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

Например, компилятор различает в переменной вещественного типа 4 поля: знаки мантиссы и порядка, плюс их значения, но для программиста, компилирующего свою программу, вещественная переменная — единая ячейка памяти, хранящая вещественное число.

Однако во всех языках в том или ином виде переменная характеризуется:

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

Примеры идентификаторов: F, b5, A, y, x2, summ, MAX...

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

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

Например: 6, -6.56 (запятая в десятичных дробях заменяется точкой), «итого» (текст - это любой набор знаков, взятый в кавычки).

Сведения о возможных значениях, количество места, которое будет выделено в памяти для хранения переменной, действия, которые допустимы над этими значениями (например, с числовыми переменными возможны арифметические операции, над логическими – проверка, истинно или ложно значение переменной, над символьными – операции преобразования символьных строк и т.п.,) зависит от типа переменной.

Тип переменной нужен для:

  • определения области допустимых значений переменной;
  • определения допустимых операции с переменной;
  • определения, какой объём памяти нужно выделить переменной и в каком формате будут храниться данные;
  • предотвращения случайных ошибок; например, при попытке записать символ в целую переменную выдаётся сообщение об ошибке.

Существуют различные классификации типов переменных и правил их назначения.

Рассмотрим некоторые распространённые типы переменных.

Целочисленные переменные

Один из простейших и самых распространённых типов в языках программирования. Служит для представления целых чисел. Целочисленные: со знаком, то есть могут принимать как положительные, так и отрицательные значения; и без знака, то есть могут принимать только неотрицательные значения.

Целочисленной переменной, в зависимости от разрядности компьютера, отводится в памяти компьютера один, два, четыре или восемь байтов. Она может хранить числа от нуля до 2 в 64-й степени минус 1. Таким образом, максимальное число которое может храниться в целочисленной переменной, равно 18,446,744,073,709,551,615 (18 квинтиллионов 446 квадриллионов 744 триллиона 073 миллиарда 709 миллионов 551 тысяча 615).

Для целочисленных переменных применимы следующие операции:

Операция

Описание операции

+

Сложение

-

Вычитание

*

Умножение

/

Деление

%

Остаток от деления

Сложение и умножение значений целых переменных выполняется так: сначала производится арифметическая операция, затем старшие разряды результата, вышедшие за 64 разрядов (отбрасываются). Операции удовлетворяют традиционным законам коммутативности, ассоциативности и дистрибутивности:

a + b = b + a , ab = ba

(a + b) + c = a + (b + c) , (ab)c = a(bc) a(b + c) = ab + ac

В языке С целым числам соответствуют типы int, char, bool

Вещественные переменные

Вещественные переменные бывают: с фиксированной точкой, то есть хранятся знак и цифры целой и дробной частей (в настоящее время в языках программирования реализуются редко), и с плавающей точкой, то есть вещественное число r имеет вид r= +- 2(в степени e) * m,

Число с плавающей запятой состоит из следующих частей:

  • знак мантиссы (указывает на отрицательность или положительность числа). Под знак отводится 1 бит.
  • показатель степени e, его называют порядком или экспонентой. Экспонента указывает степень двойки, на которую домножается число. Экспонента может быть как положительной, так и отрицательной (для чисел, меньших единицы). Под экспоненту отводится фиксированное число двоичных разрядов, обычно восемь или одиннадцать, расположенных в старшей части двоичного представления числа, сразу вслед за знаковым разрядом.
  • мантисса m представляет собой фиксированное количество разрядов двоичной записи вещественного числа в диапазоне от 1 до 2: 1 <= m<2

Следует подчеркнуть, что левое неравенство нестрогое - мантисса может равняться единице, а правое - строгое, мантисса всегда меньше двух. Разряды мантиссы включают один разряд целой части, который ввиду приведенного неравенства всегда равен единице, и фиксированное количество разрядов дробной части. Поскольку старший двоичный разряд мантиссы всегда равен единице, хранить его необязательно, и в двоичном коде он отсутствует. Фактически двоичный код хранит только разряды дробной части мантиссы.

В языке С вещественным числам соответствуют типы float и double.

Элемент типа float занимает 4 байта, в которых один бит отводится под знак, восемь - под порядок, остальные 23 - под мантиссу (на самом деле, в мантиссе 24 разряда, но старший разряд всегда равен единице, поэтому хранить его не нужно). Тип double занимает 8 байтов, в них один разряд отводится под знак, 11 - под порядок, остальные 52 - под мантиссу. На самом деле в мантиссе 53 разряда, но старший всегда равен единице и поэтому не хранится. Поскольку порядок может быть положительным и отрицательным, в двоичном коде он хранится в смещенном виде: к нему прибавляется константа, равная абсолютной величине максимального по модулю отрицательного порядка. В случае типа float она равна 127, в случае double - 1023.

Основным типом является тип double, именно он наиболее естественен для компьютера. В программировании следует по возможности избегать типа float, так как его точность недостаточна, а процессор все равно при выполнении операций преобразует его в тип double. (Один из немногих случаев, где применение типа float оправдано, - трехмерная компьютерная графика.)

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

  1. 1.0 = +20*1.0

Здесь порядок равен 0, мантисса - 1. В двоичном коде мантисса состоит из одних нулей, так как старший разряд мантиссы (всегда единичный) в коде отсутствует. Порядок хранится в двоичном коде в смещенном виде, он равен 127 в случае float и 1023 в случае double ;

  1. 3.5 = +21*1.75

Порядок равен единице, мантисса состоит из трех единиц, из которых в двоичном коде хранятся две: 1100...0 ; смещенный порядок равен 128 для float и 1024 для double ;

  1. 0.625 = +2-1*1.25

Порядок отрицательный и равен -1, дробная часть мантиссы равна 0100...0 ; смещенный порядок равен 126 для float и 1022 для double ;

  1. 100.0 = +26*1.5625

Порядок равен шести, дробная часть мантиссы равна 100100...0 ; смещенный порядок равен 133 для float и 1029 для double.

При выполнении сложения двух положительных плавающих чисел происходят следующие действия:

  1. выравнивание порядков. Определяется число с меньшим порядком. Затем последовательно его порядок увеличивается на единицу, а мантисса делится на 2, пока порядки двух чисел не сравняются. Аппаратно деление на 2 соответствует сдвигу двоичного кода мантиссы вправо, так что эта операция выполняется быстро. При сдвигах правые разряды теряются, из-за этого может произойти потеря точности (в случае, когда правые разряды ненулевые);
  2. сложение мантисс;
  3. нормализация: если мантисса результата стала равна или превысила двойку, то порядок увеличивается на единицу, а мантисса делится на 2. В результате этого мантисса попадает в интервал 1 <= m<2. При этом возможна потеря точности, а также переполнение, когда порядок превышает максимально возможную величину.

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

Символьные переменные

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

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

Кодировка определяется тремя параметрами:

1) диапазон значений кодов. например ASCII. стандартный код обмена информацией. от 0 до 127. требует 7 бит на символ. большинство современных кодировок имеют диапазон кодов от 0 до 255, т.е. 1 байт на символ. Unicode, — диапазон от 0 до 65535 — т.е. 2 байта (16 бит) на символ.

2) множеством изображаемых символов.

3) отображением множества кодов на множество символов. кодировки кои-8, cp-1251, и тд.

В языке C++ для Unicode существует тип wchar_t в котором под каждый символ отводится 2 байта.

К значениям этого типа могут применяться операции сравнения (в результате получается логическое значение). Символы считаются упорядоченными согласно своим кодам (номерам в кодовой таблице).

Логические переменные и выражения

В языке С++ определен логический тип данных bool, реализуемый одним байтом.

Данные этого типа имеют два значения: истина (true) и ложь (false). К ним могут применяться логические операции. Логические, или условные, выражения используются в качестве условия в конструкциях ветвления "если ... то ... иначе ... конец если" и цикла "пока". В первом случае в зависимости от истинности условия выполняется либо ветвь программы после ключевого слова "то", либо после "иначе"; во втором случае цикл выполняется до тех пор, пока условие продолжает оставаться истинным.

В некоторых языках, например С++, является подтипом числового типа, при этом ложь = 0, истина = 1.

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

В языке С++:

  • операция проверки равенства двух выражений обозначается двойным знаком равенства: == (в С++ не используется обычный знак равенства во избежание путаницы, поскольку часто знак равенства применяется для обозначения операции присваивания);
  • неравенство обозначается: != (в С++ восклицательный знак используется для отрицания);
  • Для сравнения величин выражений применяется четыре операции: больше > ; меньше < ; больше или равно >= ; меньше или равно <=;

Несколько примеров логических выражений:

x == 0 - выражение истинно, если значение переменной x равно нулю, и ложно в противном случае;

0!= 0 - выражение ложно;

3>= 2 - выражение истинно.

Из элементарных логических выражений и логических переменных можно составлять более сложные выражения, используя три логические операции "и", "или", "не":

  1. результат логической операции "и" истинен, когда истинны оба ее аргумента. Например, логическое выражение

0 <= x и x <= 1

истинно, когда значение переменной x принадлежит отрезку [0, 1]. Логическую операцию "и" называют также логическим умножением или конъюнкцией; в языке Си логическое умножение обозначается двойным амперсандом &&;

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

x != 0 или y != 0

ложно в том и только том случае, когда значения обеих переменных x и y равны нулю. Логическую операцию "или" называют также логическим сложением или дизъюнкцией; в Си логическое сложение обозначается двойной вертикальной чертой ||;

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

не x == 0

истинно, когда значение переменной x отлично от нуля. Логическая операция "не" называется логическим отрицанием (иногда негацией); в Си логическое отрицание обозначается восклицательным знаком "!".

2. Практическое использование переменных в программировании

2.1 Основные элементы программирования

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

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

Для использования переменной необходимо выполнить три действия:

  1. Объявить переменную. Сообщить программе имя и тип переменной, которую требуется использовать.
  2. Присвоить переменной значение. Передать переменной значение для хранения.
  3. Непосредственно использовать переменную. Извлечь значение, содержащееся в переменной, и использовать его в программе.

Синтаксис определения переменной выглядит следующим образом:

тип_переменной имя_переменной;

Простейшее определение переменной:

int age; // мы объявили переменную age типа int

Здесь определена переменная age, которая имеет тип int. Поскольку определение переменной представляет собой инструкцию, то после него ставится точка с запятой.

Имена переменных могут быть любыми. Однако есть несколько общих правил их написания:

  1. Желательно давать переменным осмысленные имена, говорящие о назначении данных, на которые они ссылаются.
  2. Имя переменной не должно совпадать с командами языка (зарезервированными ключевыми словами).
  3. Имя переменной должно начинаться с буквы или символа подчеркивания (_).

Переменная должна быть объявлена до ее использования.

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

Вот несколько примеров

// Правильные переменные

_cat = "кот";

Kitten3 = "Котенку 3 года";

Cat_Name = "Кота зовут Рыжик";

// Неправильные переменные

3Kitten = "кошка"; //начинается с цифры

Cat,Me = "Meow"; //нельзя использовать запятую

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

int Cats, Kittens, Dogs;

Кроме того, можно сразу инициализировать объявляемую переменную

int Cats = 7;

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

int widthSquare = 5; // ширина квадрата

// динамически инициализируем переменную perimeter

int perimeter = widthSqare * 4;

После определения переменной можно присвоить некоторое значение: Связь между данными и переменными устанавливается с помощью знака =. Такая операция называется присваиванием (инициализацией).

int x;

x = 2

То есть в данном случае переменная x (левый операнд) будет иметь значение 2 (правый операнд).

При этом операции присваивания имеют правосторонний порядок, то есть выполняются справа налево. И, таким образом, можно выполнять множественное присваивание:

int a, b, c;

a = b = c = 34;

Здесь сначала вычисляется значение выражения c = 34. Значение правого операнда - 34 присваивается левому операнду с. Далее вычисляется выражение b = c: значение правого операнда c (34) присваивается левому операнду b. И в конце вычисляется выражение a = b: значение правого операнда b (34) присваивается левому операнду a.

Кроме того, следует отметить, что операции присваивания имеют наименьший приоритет по сравнению с другими типами операций, поэтому выполняются в последнюю очередь:

int x;

x = 3 + 5;

В соответствии с приоритетом операций вначале выполняется выражение 3 + 5, и только потом его значение присваивается переменной x.

Все остальные операции присваивания являются сочетанием простой операции присваивания с другими операциями:

  • +=: присваивание после сложения. Присваивает левому операнду сумму левого и правого операндов: A += B эквивалентно A = A + B
  • -=: присваивание после вычитания. Присваивает левому операнду разность левого и правого операндов: A -= B эквивалентно A = A - B
  • *=: присваивание после умножения. Присваивает левому операнду произведение левого и правого операндов: A *= B эквивалентно A = A * B
  • /=: присваивание после деления. Присваивает левому операнду частное левого и правого операндов: A /= B эквивалентно A = A / B
  • %=: присваивание после деления по модулю. Присваивает левому операнду остаток от целочисленного деления левого операнда на правый: A %= B эквивалентно A = A % B
  • <<=: присваивание после сдвига разрядов влево. Присваивает левому операнду результат сдвига его битового представления влево на определенное количество разрядов, равное значению правого операнда: A <<= B эквивалентно A = A << B
  • >>=: присваивание после сдвига разрядов вправо. Присваивает левому операнду результат сдвига его битового представления вправо на определенное количество разрядов, равное значению правого операнда: A >>= B эквивалентно A = A >> B
  • &=: присваивание после поразрядной конъюнкции. Присваивает левому операнду результат поразрядной конъюнкции его битового представления с битовым представлением правого операнда: A &= B эквивалентно A = A & B
  • |=: присваивание после поразрядной дизъюнкции. Присваивает левому операнду результат поразрядной дизъюнкции его битового представления с битовым представлением правого операнда: A |= B эквивалентно A = A | B
  • ^=: присваивание после операции исключающего ИЛИ. Присваивает левому операнду результат операции исключающего ИЛИ его битового представления с битовым представлением правого операнда: A ^= B эквивалентно A = A ^ B

Примеры операций:

int a = 5;

a += 10; // 15

a -= 3; // 12

a *= 2; // 24

a /= 6; // 4

a <<= 4; // 64

a >>= 2; // 16

2.2. Анализ работы с переменными в различных языках программирования

Типы данных в языке С++

В языке С++ все переменные имеют определенный тип данных. Например, переменная, имеющая целочисленный тип не может содержать ничего кроме целых чисел, а переменная с плавающей точкой — только дробные числа.

Тип данных присваивается переменной при ее объявлении или инициализации.

Основные типы данных в C++:

  • int — целочисленный тип данных;
  • float — тип данных с плавающей запятой;
  • double — тип данных с плавающей запятой двойной точности;
  • char — символьный тип данных;
  • bool — логический тип данных;

Объявление переменной в C++ происходит следующим образом: сначала указывается тип данных для этой переменной а затем название этой переменной.

Например:

int a; // объявление переменной a целого типа.

float b; // объявление переменной b типа данных с плавающей запятой.

double c = 14.2; // инициализация переменной типа double.

char d = 's'; // инициализация переменной типа char.

bool k = true; // инициализация логической переменной k.

Отметим ещё раз, что в C++ оператор присваивания (=) — не является знаком равенства и не может использоваться для сравнения значений. Оператор равенства записывается как «двойное равно» — ==.

Присваивание используется для сохранения определенного значение в переменной. Например, запись вида a = 10 задает переменной a значение числа 10.

Переменные в Python

В Python не нужно объявлять тип переменной вручную (как, например в С++). Объявление происходит автоматически (это называется динамическая типизация), когда присваивается значение переменной. Знак равенства ( = ) используется для присвоения значения переменной.

Операнд по левую сторону от знака равно ( = ) это имя переменной, операнд по правую сторону – значение присвоенное этой переменной.

Например:

1 country = "Swiss" # Присвоить значение Swiss переменной под названием country

2 age = 23 # Присвоение значения 23 переменной age

3 print country

4 print age

В Python возможно присваивать одно значение нескольким переменным сразу.

Например:

  1. a = b = c = 1

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

Встроенные типы данных в Python:

Информация, сохраненная в памяти может быть разных типов данных. Например, возраст человека может быть числовым значением, а его адрес – буквенно-числовым. В Python существует множество стандартных типов данных, которые используются для хранения определенных значений и обладают своими специфическими методами.

К стандартным типам данных в Python относят:

  • Числа (Numbers)
  • Строка (String)
  • Список (List)
  • Кортеж (Tuple)
  • Словарь (Dictionary)
  • Сет (Set)

Типы переменных, объявление и инициализация на Java

Каждая переменная в Java имеет конкретный тип, который определяет размер и размещение её в памяти; диапазон значений, которые могут храниться в памяти; набор операций, которые могут быть применены к переменной.

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

тип данных переменная [ = значение], [переменная [= значение], ...] ;

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

Примеры объявления переменной и инициализации в Java:

int a, b, c; // Объявление трех целых a, b, и c.

int a = 10, b = 10; // Пример инициализации.

byte b = 22; // Инициализация переменной b типа byte.

double pi = 3.14159; // Объявление и присвоение величины пи.

char a = 'a'; // Переменной a типа char присваивается значение 'a'.

В языке Java существует три типа переменных:

  • локальные переменные;
  • переменные экземпляра;
  • статические переменные или переменные класса.

Переменные и типы данных в JavaScript

Сама по себе переменная в JavaScript не содержит информацию о типе значений, которые будут в ней храниться. Это означает, что, записав в переменную, например, строку, позже в неё можно записать число. Такая операция ошибки в программе не вызовет. Именно поэтому JavaScript иногда называют «нетипизированным» языком, но это не соответствует реальному положению дел. В переменные, действительно, можно записывать значения разных типов, но типы данных в JavaScript, всё-таки, есть. В частности, речь идёт о примитивных и об объектных типах данных.

Примитивные типы данных JavaScript:

  • number (число)
  • string (строка)
  • boolean (логическое значение)
  • null (специальное значение null)
  • undefined (специальное значение undefined)
  • symbol (символ, используется в особых случаях, появился в ES6)

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

Все значения, не являющиеся примитивными, имеют объектный тип. Речь идёт о функциях, массивах, обо всём, что можно назвать «объектами», и о многих других сущностях. В основе всех этих типов данных лежит тип object, и они, хотя и во многом друг от друга отличаются, имеют и много общего.

Прежде чем использовать переменную, в JavaScript её нужно объявить с использованием ключевого слова var или let. Если речь идёт о константе, применяется ключевое слово const.

Если в коде функции объявлена некая переменная, она видна всему коду функции. Даже если переменная объявлена с помощью var в конце кода функции, обратиться к ней можно и в начале кода, так как в JavaScript работает механизм поднятия переменных (hoisting). Этот механизм «поднимает» объявления переменных, но не операции их инициализации.

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

Заключение

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

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

Данными может быть любая информация, любой объект. Например, целое число, текстовая строка, дата, массив и т. д.

Список литературы

  1. Борисенко, В.В. Основы программирования / В.В. Борисенко. – Москва : Интернет-университет информационных технологий, 2005. – 328 с.
  2. Голиков, В.А. Теория программирования / В.А. Голиков. – Москва : Московская финансово-промышленная академия, 2006. – 48 с.
  3. Гусева, Е.Н. Информатика: учебное пособие / Е.Н. Гусева, И.Ю. Ефимова, Р.И. Коробков. – Москва : Флинта, 2016. – 261 с.
  4. Дунаев, В.В. Web-программирование для всех / В.В. Дунаев. – Санкт-Петербург : БХВ-Петербург, 2013. – 560 с.
  5. Зюзьков, В.М. Программирование / В.М. Зюзьков. – Томск : Эль Контент, 2013. – 186 с.
  6. Ильин, А.В. Теория и технология программирования / А.В. Ильин. – Псков : ПсковГУ, 2016. – 184 с.
  7. Опалева, Э.А. Языки программирования и методы трансляции / Э.А. Опалева, В.П. Самойленко. – Санкт-Петербург : БХВ-Петербург, 2003. – 471 с.
  8. КОНЬЯКОВ.ру [Электронный ресурс]. – Режим доступа: https://konyakov.ru/2014/03/21/22-ponyatie-i-tipy-peremennyx-v-yazykax-programmirovaniya-vysokogo-urovnya/. – Дата доступа: 11.01.2020.
  9. Национальный Открытый Университет "ИНТУИТ" | Бесплатное образование [Электронный ресурс]. – Режим доступа: https://www.intuit.ru/studies/courses/2193/67/info. – Дата доступа: 18.01.2020.
  10. Википедия — свободная энциклопедия [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/Переменная (программирование). – Дата доступа: 19.01.2020.
  11. Персональный сайт Иванова А.М. [Электронный ресурс]. – Режим доступа: https://иванов-ам.рф/informatika_kabinet/programm/index.html. – Дата доступа: 01.02.2020.
  12. METANIT.COM - Сайт о программировании [Электронный ресурс]. – Режим доступа: https://metanit.com/cpp/tutorial/. – Дата доступа: 03.02.2020.