Файл: Понятие переменной в программировании. Виды и типы переменных. ( Понятие переменной ).pdf
Добавлен: 31.03.2023
Просмотров: 184
Скачиваний: 2
Введение
Программирование – процесс создания компьютерных программ с помощью языков программирования.
Языки программирования включают такие понятия как:
- переменные и типы данных
- массивы данных функции
- объекты
- операторы
- выражения
Важность и значимость переменной в современном программировании сложно переоценить. Безусловно, что все программы на сегодняшний день стремятся к максимальной эффективности при реализации двух параметров (задач): производительность (эффективности, с т.з. скорости обработки информации) и безопасность. Переменные же – важнейшая часть любого языка программирования, позволяющая хранить, использовать (обрабатывать/определять) и передавать данные. Следовательно, именно переменные являются тем звеном, которое является ключевым (а, главное, иногда «слабым») для максимально эффективного и безопасного решения различных задач.
Таким образом, актуальность заявленной тематики, на наш взгляд, обусловлена.
Стоит отметить также, что переменные в программировании отличаются от математических переменных, также используемых в областях техники и естественных наук. Так, например, в задаче найти произведение Z двух натуральных чисел X и Y с помощью вычислительной машины, умеющей выполнять только сложение, необходимо написать программу, обуславливающую данное решение. А так как программа должна быть универсальна: вычислять произведения для любой пары натурных чисел, – то, вместо чисел в ней употребляются имена, обозначающие изменяемые объекты, которые называются переменными и нам придётся присвоить определённые имена/значения переменным, либо описать, что такое произведение, а также решить вопрос с натуральными числами. Именно этим (условно) многообразием проблем и определяется многообразие языков и методов решения работы с переменными.
Поскольку весь язык программирования строится на переменных, то необходимо их рассмотреть.
Объект исследования: переменные в программировании.
Предмет исследования: структура и типы переменных в программировании.
Цель работы: рассмотреть понятие переменной в программировании и привести виды и типы переменных.
Для реализации поставленной цели необходимо решить следующие задачи:
- рассмотреть понятие переменной;
- привести виды и типы переменных;
- разобрать основные элементы программирования;
- выполнить анализ работы с переменными в различных языках.
Глава 1. Понятие и типы переменной
1.1 Понятие переменной
В общем и целом, переменными в программировании называются такие величины, которые могут изменять свое значение во время выполнения алгоритма. Они используются как символические имена фрагментов оперативной памяти компьютера. И при выполнении программы в различные моменты времени переменные могут хранить различные значения.
В абсолютном большинстве языков программирования, «переменная» — это некая ячейка памяти, предназначенная для хранения в себе какой-либо информации: чисел, символов, логических значений (истина\ложь) и многого другого, а современные языки программирования позволяют создавать собственные типы данных. Кроме того, переменные позволяют не только удобно манипулировать данными, но и разделять их на типы, с которыми можно работать по определённым правилам.
С точки зрения архитектуры компьютера, "переменная" – это символическое обозначение ячейки оперативной памяти, имеющей своё уникальное название и хранящей данные соответственно своему размеру. К переменной мы можем обратиться по её имени и получить значение, либо изменить его.
Прежде чем использовать переменную необходимо:
- Объявить переменную – сообщить программе имя и тип переменной, которую требуется использовать.
- Присвоить переменной значение - передать переменной значение для хранения.
После этого можно непосредственно использовать переменную – извлечь значение, содержащееся в переменной, и использовать его в программе.
Для того чтобы объявить переменную, необходимо указать её тип и записать её имя. Например, в языке 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).