Файл: Понятие переменной в программировании. Виды и типы переменных ( Виды типизации в языках программирования).pdf

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

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

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

Добавлен: 28.03.2023

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

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

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

ВВЕДЕНИЕ

Данная курсовая работа посвящена понятию переменной в программировании, а также видам и типам переменных. Если обратиться к статье «Переменная (программирование)» в русскоязычной Википедии, то мы там увидим, что переменная в программировании – это поименованная, либо адресуемая иным способом область памяти, адрес которой можно использовать для осуществления доступа к данным [6]. Из данного определения следует, что переменные используются только для доступа к данным. Однако во многих современных языках программирования это не так. Например, кроме доступа к данным, переменные могут применяться для доступа к объектам (экземплярам класса), к структурам (ассоциативные или обычные массивы) и т.д. В этом и состоит актуальность данного исследования – ни одна программа не обходится без переменных, и программисту необходимо понимать все особенности работы с переменными в различных современных языках программирования, а также особенности их типов данных.

Объектами исследования в данной курсовой работе является переменная в программировании и типы данных различных переменных.

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

Исходя из поставленной цели работы, задачами данного исследования являются:

1. Дать определение понятию «переменная».

2. Дать трактовку переменной для программирования.

3. Исследовать свойства переменных в различных языках программирования.

4. Рассмотреть понятия «тип данных».

5. Исследовать различные варианты типизации в программировании.

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

Курсовая работа содержит 14 рисунков, 0 таблиц.

ГЛАВА 1. Понятие переменной. Типы данных переменной

В самом начале нашего исследования необходимо разобраться в самом понятии «переменная». Само это понятие не очевидно для человека. Дело в том, что когда в школе начинают изучать различные науки, то впервые понятие переменной возникает в разделе математики – алгебра, а вот в арифметике данное понятие отсутствует. В арифметике мы имеем дело с числами. Например, маленький школьник решал следующие задачи: «Сколько будет 2+3?», «Найдите результат следующего выражения: 7-4=?» и т.д. В этих задачах 2, 3, 7, 4 – это числа, а точнее константы, то есть такие сущности, которые не меняют своего значения в течение времени – «семь всегда «семь».


Возьмем калькулятор. Что он умеет делать? Довольно много чего: он успешно справляется с арифметическими и алгебраическими действиями. Например:

  • вводим на калькуляторе первое число, например, «2»;
  • нажимаем на знак «плюс»;
  • вводим второе число, скажем, «3» (см. рис. 1),
  • и затем нажимаем знак «=».

Рис. 1. Пример работы калькулятора

Результат работы калькулятора в данном примере очевиден для всех – это цифра 5. Калькуляторы бывают разными: инженерными, для статистики, для программистов, но каким бы сложным калькулятор не был, он всё равно работает только с числами. Другие уровни абстракции ему не подвластны, калькуляторы умеют вычислять только числовые выражения.

Позже школьнику уже приходится иметь дело с выражениями другого вида: a+b=c. В чем тут отличие? Не только в том, что во втором случае вместо чисел мы применили буквы латинского алфавита, но и в том, что мы записали выражение на новом уровне абстракции. Подобные выражения носят названия формул. С помощью формул можно описывать законы окружающего мира, записывать выражения для вычисления площади, объема, длины, скорости и т.д. Введя понятие формул, мы подготовили своего рода «рецепт» какого-либо процесса или явления, то есть, написав формулу скорости , где V – скорость тела, S – пройденный телом путь, t – время движения, то мы описали все возможные значения скорости при различных значениях пройденного расстояния и времени движения. Также буквенная запись позволяет вычислить площадь любого треугольника, независимо от его параметров (длин его сторон, высот и т.д.).

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

Вернемся к нашему примеру со скоростью: . Это формула, а V, S, t в ней называются операндами или переменными. Именно подобные буквенные обозначения в формулах и являются переменными. Почему? Потому что они принимают различные значения. Их значения меняются, отсюда и такое название.

Итак, в математике и в программировании мы имеем дело с двумя очень важными сущностями: с переменными и константами. Константы не меняют своего значения с течением времени (смотри пример с числовыми выражениями и с калькулятором), а переменные могут принимать различные значения.


В программировании все выражения пишут как бы наоборот по сравнению с тем, как их пишут в алгебре. Если в алгебре сначала указывают операнды (переменные), над которыми следует произвести действия, а потом после знака равенства указывают результат, как в примере a + b = c, то в программировании делают все наоборот: сначала указывают результат, а потом действие, то есть: C = A + B. Здесь не случайно написаны строчные (заглавные) буквы вместо прописных (маленьких) букв. Это было сделано по двум причинам: во-первых, чтобы отличить алгебру от программирования, а во-вторых, потому что первоначально в нашей стране в программировании использовали в основном заглавные буквы латинского алфавита.

Почему стали в программировании писать наоборот, а именно стали писать C = A + B? Трудно сказать. Так сложилось, что сначала надо было указывать результат, и лишь потом действие.

Что же дает подобное «волшебное» выражение  с буквами вместо цифр для программирования? Казалось бы, в чем разница между константами и переменными: 5 = 2 + 3 (напишем наоборот лишь для сравнения) и
C = A + B?

Давайте разберемся. Что может быть результатом сложения 2+3? Большинство ответит, конечно, «5». И хоть это почти правильный ответ, пожалуй, мы с этим согласимся. Почему почти? Да потому что это правильный ответ для десятичной системы исчисления. Для четверичной системы исчисления, в которой используются только цифры от 0 до 3, ответ был бы «11». А в пятеричной системе исчисления, где добавляется еще цифра 4, ответ был бы «10». Но в любом случае, о какой бы системе исчисления мы не говорили, результатом 2+3 всегда будет одно и то же число (константа). В десятичной системе (вернемся к ней теперь надолго), это «5», и только «пять».

А сколько будет A + B? Ответ очевиден: все зависит от того, чему равны A и B. Значит, результатом 2+3 всегда будет 5, а результатом A+B будут разные значения в зависимости от величин A и B.

Достаточно очевидно. Ну и что, что 5 – константа, а тут переменная? А то, что переменные – это другой уровень абстракции. За счет A+B мы теперь можем получать множество разных значений.

Мы разобрались с сутью понятия «переменная», теперь дадим более строгое определение, которое применяется в программировании.

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

Если "заглянуть" в компьютер, то переменную можно определить так: переменная представляет собой контейнер в памяти компьютера, где хранятся данные [2]. Само название "переменная" подразумевает, что содержимое этого участка может изменяться.


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

Каждая переменная характеризуется следующими атрибутами [3]:

  • именем;
  • типом данных;
  • значением;
  • временем жизни;
  • областью видимости.

О типизации более подробно будет написано во второй главе данной курсовой работы, так как это вопрос очень неоднозначный и все зависит от выбранного языка программирования. А сейчас мы подробно рассмотрим вопрос именования переменных, дадим общее определение понятию «тип данных» и рассмотри вопросы области видимости переменной в программе.

После того как данные сохранены, их можно вызвать, используя имя этой переменной [2]. В качестве имен переменных могут быть латинские буквы с цифрами. Причем может быть не одна буква, а несколько. Имя переменной не может начинаться с цифры, а также программист не может использовать в качестве имени переменной зарезервированные слова языка программирования [2]. Разные языки программирования по-разному чувствительны к регистру имен переменных. Например, в Pascal не имеет значение в обозначении переменных маленькими или большими (строчными или прописными) буквами они написаны, а вот C, C++, C#, Python, Java чувствительны к регистру (переменные «A» и «a» являются разными переменными).

Сформулируем общие правила именования переменных, которые характерны для всех языков программирования [5]:

1) всегда начинаться с буквы, после которой могут другие буквы или цифры;

2) в идентификаторе (имени) не должно быть пробелов, запятых или других непредусмотренных знаков;

3) нельзя использовать в качестве имен переменных слова, которые являются служебными или операторами.

Перед использованием переменной надо объявить. Объявление переменной чаще всего выглядит так: указывается тип и имя [4]. Например, на рис. 2 показан пример объявления переменных на языке программирования C# [4].

Рис. 2. Пример объявления переменных на языке C#

В языке программирования Паскаль существует отдельный раздел программы для описания переменных [5].

______________________________________________________________

var

a: byte;

b: integer;

c, d, e: real;

f:double;

______________________________________________________________

Слово var - это сокращение от слова variable (переменная) и является зарезервированным словом.

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


Тип данных характеризует внутреннее представление, множество допустимых значений для этих данных, а также совокупность операций над ними [5]. Каждая переменная и константа программы должны принадлежать к определенному типу данных. Это необходимо для того, чтобы отвести необходимое место в оперативной памяти и для проверки правильности записи выражений. Например, над числовыми данными можно производить арифметические операции, а символьные данные используются для анализа текста.

Среди типов данных различают стандартные (предопределенные разработчиками языка) и пользовательские (определяемые программистом в своей программе) [5].

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

  • целые числа ( -∞ …-2, -1, 0, 1, 2, … +∞)
  • вещественные числа (действительные числа: все)
  • логический тип (ложь, истина)
  • символьный (символы, слова или текст).

Типы данных различаются, начиная с нижних уровней системы. Так, например, даже в Ассемблере х86 различаются типы «целое число» и «вещественное число». Это объясняется тем, что для чисел рассматриваемых типов отводятся различные объёмы памяти, используются различные регистры микропроцессора, а для операций с ними применяются различные команды Ассемблера и различные ядра микропроцессора [1].

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

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

Программист может описать свой тип на основе базовых типов данных. Так, например, в языке программирования C++ можно задать тип enum, где программист через запятую прямо перечислит те значения, которые возможны в данном типе [3].