Файл: Понятие переменной в программировании. Виды и типы переменных (Переменные в “C++”).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 01.04.2023

Просмотров: 59

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Введение

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

В Статистике встречаются: независимые и зависимые переменные:
Независимая переменная — переменная, которой намеренно манипулируют или выбирают экспериментально с целью выяснить её влияние на зависимую переменную.
Зависимая переменная — измеряемая переменная, изменения которой связывают с изменениями независимой переменной.
Связь между которыми возможна нескольких видов:
•Зависимая переменная не чувствительна к изменениям независимой.
•Монотонно возрастающая зависимость: увеличению значений независимой переменной соответствует изменение зависимой переменной.
•Монотонно убывающая зависимость: увеличению значений независимой переменной соответствует уменьшение уровня зависимой переменной.
•Нелинейная зависимость U-образного типа — обнаруживается в большинстве экспериментов, в которых выделяются особенности психической регуляции поведения.
•Сложная квазипериодическая зависимость уровня зависимой переменной от уровня независимой.

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

И конечно же в программирование используют переменные для хранения различных данных в языках программирования. Переменной называется область памяти, имеющая имя, которое иначе называют идентификатором. Давая переменной имя, программист одновременно тем же именем называет и область памяти, куда будут записываться значения переменной для хранения.
Как пример возьмем язык программирование “C++” в нем как и в большинстве других языков переменные могут быть: Локальными или глобальными. Локальные переменные объявляются внутри функций и имеет локальную область видимости то есть ограниченную конкретной функцией.
Глобальные переменные объявляются вне функций, имеют статическую продолжительность жизни, т.е. создаются при запуске программы и уничтожаются при её завершении. И имеют глобальную область видимости.
Данные которые будут присваиваться переменным имеют следующие типы;


Таблица . Типы данных.

Рисунок 1. Последовательность битов.

Это наглядное представление о том, как последовательность битов интерпретируется по-разному, в зависимости от того, интерпретируется ли переменная как со знаком (с использованием двоичной записи) или без знака.

Глава 1. Переменные в “C++”.

В языке С++ все переменные имеют определенный тип данных. Например, переменная, имеющая целочисленный тип не может содержать ничего кроме целых чисел, а переменная с плавающей точкой — только дробные числа. Тип данных присваивается переменной при ее объявлении или инициализации.
Целочисленный тип данных — это тип, переменные которого могут содержать только целые числа, например: -8, -4, 0, 3, 5. В языке C++ есть 5 основных целочисленных типов, доступных для использования:

Таблица 2. Тип данных.

Основным различием между целочисленными типами, перечисленными выше, является их размер, чем он больше, тем больше значений сможет хранить переменная этого типа. Небольшим исключением является тип char — это особый случай: он является как целочисленным, так и символьным типом данных. Переменная типа char занимает 1 байт. Однако, вместо конвертации значения типа char в целое число, оно интерпретируется как ASCII-символ. ASCII это американский стандартный код для обмена информацией, который определяет способ представления символов английского языка и несколько других, в виде чисел от 0 до 127. Например: код буквы 'а' — 97, код буквы 'b' — 98. Символы всегда помещаются в одинарные кавычки. Символы от 0 до 31 в основном используются для форматирования вывода. Большинство из них уже устарели. Символы от 32 до 127 используются для вывода. Это буквы, цифры, знаки препинания, которые большинство компьютеров использует для отображения текста.

Таблица . ASCII

В 1963 году ASCII была разработана для кодирования символов, коды которых помещались в 7 бит то есть 128 символов. В 1967 году, ASCII стала восприниматься как половина 8-битной кодировки, а «расширенной ASCII» называли ASCII с задействованным 8-м битом и все содержащиеся в ней символы в дальнейшем не меняли своего положения в таблице.
Со временем кодировка была расширена до 256 символов коды первых 128 символов не изменились.


Целый тип uchar также занимает в памяти 1 байт, как и тип char, но в отличие от него, uchar предназначен только для положительных значений. Минимальное значение равно нулю, максимальное значение равно 255. Первая буква u в названии типа uchar является сокращением слова unsigned (беззнаковый).
Целый тип short имеет размер 2 байта (16 бит) и, соответственно, позволяет выразить множество значений равное 2 в степени 16:2^16=65 536. Так как тип short является знаковым и содержит как положительные, так и отрицательные значения, то диапазон находится между -32 768 и 32 767.

Беззнаковым типом short является тип ushort, который также имеет размер 2 байта. Минимальное значение равно 0,
максимальное значение 65 535.

Целый тип int имеет размер 4 байта (32 бита).
Минимальное значение -2147483648, максимальное значение 2147483647.

Беззнаковый целый тип uint занимает в памяти 4 байта и позволяет выражать целочисленные значения от 0 до 4 294 967 295.

Целый тип long имеет размер 8 байт (64 бита).
Минимальное значение -9 223 372 036 854 775 808,
максимальное значение 9 223 372 036 854 775 807.

Целый тип ulong (long long) также занимает 8 байт и позволяет хранить значения от 0 до 18 446 744 073 709 551 615.

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

Разработчики встраиваемых систем часто работают с 8-разрядными процессорами. В этих устройствах основной размер данных всегда составляет один байт. Память организована в соответствии с байтами, размер регистров составляет один байт, а сам CPU предназначен для обработки 8-разрядных данных. Это довольно неудобное ограничение, поскольку во многих ситуациях значение переменной будет превышать максимальное значение 8-разрядного числа

Глава 2. Область видимости.

Область видимости идентификатора определяет, где он доступен для использования. К идентификатору, который находится вне области видимости, доступ закрыт. Переменные с локальной/блочной областью видимости доступны только в пределах блока, в котором они объявлены. Это: локальные переменные; параметры функции. Область видимости переменной часть программы, в пределах которой операторы могут обратиться к конкретной переменной.


Переменные с глобальной/файловой областью видимости доступны в любом месте файла. Это: глобальные переменные. Продолжительность жизни переменной определяет, где она создается и где уничтожается. Переменные с автоматической продолжительностью жизни создаются в точке определения и уничтожаются при выходе из блока, в котором определены. Это: обычные локальные переменные.Переменные со статической продолжительностью жизни создаются, когда программа запускается, и уничтожаются при её завершении. Глобальные переменные; статические локальные переменные. Динамическая переменная в программе, место в оперативной памяти под которую выделяется во время выполнения программы. По сути, она является участком памяти, выделенным системой программе для конкретных целей во время работы программы. Этим она отличается от глобальной статической переменной - участка памяти, выделенного системой программе для конкретных целей перед началом работы программы. Динамическая переменная один из классов памяти переменной. Связь идентификатора определяет, относятся ли несколько упоминаний одного идентификатора к одному и тому же идентификатору или нет. Идентификаторы без связей это идентификаторы, которые ссылаются сами на себя обычные локальные переменные. Идентификаторы с внутренней связью доступны в любом месте файла, в котором они объявлены. статические глобальные переменные

Обычные функции, неконстантные глобальные переменные, константные глобальные переменные, переменные статические.
Идентификаторы с внешней связью доступны как в любом месте файла, в котором они объявлены, так и в других файлах соответственно через предварительное объявление.
Внешние константные глобальные переменные определяемые пользователем типы данных, такие как enum, typedef и классы с глобальной областью видимости. Идентификаторы с внешней связью могут вызвать ошибку дублирования определений, если определения скомпилированы в более чем одном файле «.cpp».

Функции по умолчанию имеют внешнюю связь, что можно изменить с помощью ключевого слова «static». Глобальные типы данных имеют внешнюю связь, но их определения не вызывают ошибки линкера при использовании в нескольких файлах. Это связано с тем, что типы, шаблоны и внешние встроенные функции являются исключениями из правила, и это позволяет им быть определенными более чем в одном файле, при условии, что эти определения идентичны. В противном случае, они не были бы так полезны.


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

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

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

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

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

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

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

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

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

Глава 3. Локальная переменная.

Переменная, объявленная внутри какой-либо функции, является локальной. Область видимости локальной переменной ограничена пределами функции, внутри которой она объявлена. Локальная переменная может быть проинициализирована при помощи любого выражения. Инициализация локальной переменной производится каждый раз при вызове соответствующей функции. Локальные переменные располагаются во временной области памяти соответствующей функции.
Область действия (или область видимости) переменной – это часть программы, в которой на переменную можно сослаться. Переменные, объявленные внутри блока (на внутреннем уровне), имеют областью действия блок. Область действия блок начинается объявлением переменной и заканчивается конечной правой фигурной скобкой. Локальные переменные, объявленные в начале функции, имеют область действия блок так же, как и параметры функции, являющиеся локальными переменными. Любой блок может содержать объявления переменных. Если блоки вложены и идентификатор во внешнем блоке имеет такое же имя, как идентификатор во внутреннем блоке, идентификатор внешнего блока "невидим" (скрыт) до момента завершения работы внутреннего блока.
Локальные переменные, объявленные как static, имеют областью действия блок, несмотря на то, что они существуют с самого начала выполнения программы.