Файл: Понятие переменной в программировании (Виды и типы переменных).pdf
Добавлен: 17.05.2023
Просмотров: 122
Скачиваний: 3
Введение
В программировании переменная является идентификатором, указывающим на область памяти с хранящимися там данными. Переменная задается уникальным именем и должна иметь тип, определяющий множество принимаемых ею допустимых значений. Перед любым обращением к переменной ее необходимо явно проинициализировать.
Перед началом работы с переменной определите ее имя, тип и задайте первоначальное значение. Причем имя должно быть уникально в пределах области видимости данного кода программы.
В языке программирования Basic объявление переменной задается следующим образом: Dim myName, где Dim – ключевое слово описания, myName – имя переменной. Можно задать сразу несколько переменных, указав их через запятую: Dim myName, Address, City. В Basic в исключительном случае переменная может быть задана неявно. Для этого достаточно упомянуть ее имя внутри программного кода. Но этот вариант использовать не желательно, во избежание накопления ошибок.
При написании программы на языке Pascal для того, чтобы задать переменную используется оператор присваивания «:=». Но в начале переменную необходимо объявить и указать ее тип. Пример кода программы:varmyName1: longint; myName2: real; myName3: char;Здесь ключевое слово var указывает на раздел объявления, далее идут имена создаваемых переменных и через знак «:» устанавливается их тип. Чтобы задать переменную, присвойте ей начальное значение: myName1:= 10. Причем помещаемые данные должны соответствовать указанному при объявлении типу.
ля задания переменной в языке С (С++) также объявите ее и укажите тип данных. Объявить можно переменную любого действительного типа, например, так: int i. Задать переменной значение здесь можно разными способами. В частности, с помощью оператора присваивания «=» как при ее объявлении, так и в сценарии программы. Для переменных языка С# возможна и динамическая инициализация, т.е. не константой, а вычисляемым выражением: double result = Math.Sqrt(i1*i1 + i2*i2). Здесь переменной result в момент объявления задается значение, являющееся результатом математического вычисления на основе других переменных.
Задать переменную можно как локально в рамках одной функции или класса, так и глобально для всего кода. В последнем случае обращаться к переменной допустимо в любом месте программы. Чтобы задать глобальную переменную для кода, содержащегося в одном файле, опишите ее перед всеми функциями в самом начале программы.
Целью данной работы является изучение переменной в програмиировании.
Для реализации поставленной цели необходимо выполнить ряд задач:
- Изучить понятие переменной в программировании и её отличие от константы;
- Рассмотреть переменную с индексами массивов;
- Изучить виды переменных в программировании;
- Рассмотреть массивы и методы;
- Рассмотреть исключительные ситуации;
- Изучить простейшее Java-приложение и т.д.
При написании данной работы были использованы современные научные и учебные источники.
Глава 1 Характеристика переменной в программировании
1.1 Понятие переменной в программировании и её отличие от константы
Прежде чем переходить к вопросу о том, что такое переменная в программировании, попробуем разобраться, почему понадобились и константы, и переменные. Алгебра от арифметики существенно отличается тем, что в арифметике мы имеем дело только с числами, а в алгебре вводится понятие переменной величины. Выражение 2 + 3 = 5 достаточно серьезно отличается от выражения: a + b = c.
В чем отличие? Не только в том, что в алгебре вместо цифр применяются буквы латинского алфавита, но отличие и в уровне абстракции.
Численные выражения, хоть что с ними делай, дают в итоге только численный результат. А вот абстрактные буквенные выражения превращаются в формулы, законы и следствия и, двигаясь дальше за пределы алгебры, в леммы, в теоремы, и, вообще, ведут к дифференциальному и интегральному исчислению, к математическому анализу и прочему. Правда, в матанализе (в математическом анализе) уже не хватает латинских букв, в ход идут греческие, всякие «дельты», «сигмы» и прочее. [1]Но это уже не столько от нехватки букв, сколько от постоянного роста уровня абстракции, которая (абстракция) требует новых выразительных средств.[2]
Почему так? Потому что определенный, пусть даже небольшой дополнительный уровень абстракции позволяет мыслить иначе, делать иначе, изучать иначе, и показывать иные результаты, чем при меньшем уровне абстракции. Так же и в компьютерной грамотности. Можно говорить сначала о самом низком уровне абстракции, например, об арифметике в программировании.
Возьмем калькулятор. Что он может делать? Достаточно много: выполнять ряд арифметических и даже более сложных действий.
- Вводим на калькуляторе первое число, например, «2»,
- нажимаем на знак «плюс»,
- вводим второе число, скажем, «3» (см. рис. 1),
- и затем нажимаем знак «=».
Что получим? Очевидно, значение «5». Арифметика. Но с использованием компьютерной техники – калькулятора.
Рис. 1. Суммирование констант 2+3 на калькуляторе (Windows 7)
Не будем дальше углубляться в возможности калькуляторов. Например, можно было бы рассмотреть более сложные калькуляторы: для инженеров, для программистов, для обработки статистических данных и пр. (см. рис. 2).
Рис. 2. Некоторые виды калькуляторов, имеющихся в Windows 7
Но даже сложные калькуляторы так и останутся калькуляторами, то есть, будут делать арифметические операции той или иной степени сложности. Потому что это один уровень абстракции, самый низкий, на уровне чисел. Ничем другим, кроме как обработкой числовых выражений, калькуляторы заниматься не могут.[3]
И если бы следующий, новый уровень абстракции не вошел в обиход в компьютерной грамотности, то тогда не появилось бы программирование в том виде, как оно существует в наше время. Программирование, которое позволяет делать программное обеспечение, что называется, на все случаи жизни, и с дружественным интерфейсом, то есть, удобным для последующего пользования.
Как это работает? Поясним несколько упрощенно, чтобы не требовалось глубокое погружение в сложную область программирования.
Для начала отметим, что в программировании все выражения пишут как бы наоборот по сравнению с тем, как их пишут в алгебре. Если в алгебре сначала указывают операнды (переменные), над которыми следует произвести действия, а потом после знака равенства указывают результат, как в примере
a + b = c,
то в программировании делают все наоборот: сначала указывают результат, а потом действие, то есть:
C = A + B.
Здесь не случайно я пишу строчные (заглавные) буквы вместо прописных (маленьких) букв:
во-первых, чтобы отличить алгебру от программирования, а
во-вторых, потому что первоначально в нашей стране в программировании использовали в основном заглавные буквы латинского алфавита.
Так как вместо прописных букв латиницы у нас делали строчную кириллицу, иначе где еще взять коды для русских букв?! Это связано с тем, что многие трансляторы с языков программирования у нас в стране лишь адаптировали с западных аналогов, а не разрабатывали с нуля. А там, откуда все это копировалось, русского языка не было по понятным причинам. Хотя были и примеры наших «родных» языков программирования.[4]
И пишу я компьютерные выражения не посредине строки, как это принято в алгебре, а пишу в начале строки так, как это принято в программировании. Это уже вопросы синтаксиса языков программирования, правил написания выражения этих языков. В алгебре одни правила, в программировании – другие, хотя буквы и там, и там могут быть одинаковые.
Почему стали в программировании писать наоборот, а именно стали писать C = A + B? Трудно сказать. Так сложилось, что сначала надо было указывать результат, и лишь потом действие.
Что же дает подобное «волшебное» выражение с буквами вместо цифр для программирования? Казалось бы, в чем разница между константами и переменными:
5 = 2 + 3 (напишем наоборот лишь для сравнения) и
C = A + B ?
Что может быть результатом сложения 2+3? Большинство ответит, конечно, «5». И хоть это почти правильный ответ, пожалуй, мы с этим согласимся. Почему почти? Да потому что это правильный ответ для десятичной системы исчисления. Для четверичной системы исчисления, в которой используются только цифры от 0 до 3, ответ был бы «11», да-да, именно одиннадцать, можете не сомневаться. А в пятеричной системе исчисления, где добавляется еще цифра 4, ответ был бы «10».[5]
Но в любом случае, о какой бы системе исчисления мы не говорили, результатом 2+3 всегда будет одно и то же число (константа). В десятичной системе (вернемся к ней теперь надолго), это «5», и только «пять».
А сколько будет A + B? Ответ очевиден: все зависит от того, чему равны A и B. Значит, результатом 2+3 всегда будет 5, а результатом A+B будут разные значения в зависимости от величин A и B.
Достаточно очевидно. Ну и что, что 5 – константа, а тут переменная? А то, что переменные – это другой уровень абстракции. За счет A+B мы теперь можем получать множество разных значений.
Как могут использоваться выражения с переменными величинами
Допустим, A – это вес одного товара, а B – это вес другого товара. Значит, A+B – это суммарный вес обоих товаров. Значит, используя выражение C=A+B, программист может запрограммировать автоматическое суммирование двух весов.
Как он это сделает?
- Например, сначала программист попросит ввести с клавиатуры вес первого товара (не описываю, как это можно сделать в языке программирования, поверим, что так можно сделать), и присваивает введенное значение переменной с именем A.
- Затем он проделывает то же самое с весом второго товара, и присваивает это уже переменной B.
- А потом пишет в своей программе теперь уже понятное нам выражение:
C = A + B
Что получается в итоге? Конечно, вы сразу догадались, что переменной C будет присвоено значение суммы весов, сохраненных в переменных A и B.
И далее программист напишет в своей программе (тоже прошу поверить, что это можно сделать средствами языка программирования): вывести на экране дисплея значение переменной C. Что мы увидим на экране? Конечно, сумму весов первого и второго товаров!
И теперь эту, один раз написанную программу, можно использовать снова, но уже для суммирования следующей пары весов.
Если еще убрать ручной ввод веса товара, и сразу автоматически ввести вес, скажем, с электронных весов (которые сейчас широко применяются в тех же супермаркетах), то на экран дисплея будет автоматически выводиться сумма весов 2-х товаров: положил одни товар, затем положил второй, и видишь сразу результат.[6] А если пойти дальше, и не выводить на экран сумму весов 2-х товаров, а записать это куда-то в базу данных?! А если не ограничиваться 2-я товарами, а, скажем, говорить о миллионе разных видов товаров, подлежащих взвешиванию? Почему бы и нет! Все это можно описать в виде выражений, подобных C = A + B.
И в итоге мы получим, можно без стеснения сказать, серьезную автоматизированную систему для супермаркета, где учитываются и веса всех товаров, и количество, и стоимость, а также все покупки, сделанные покупателями и прочее, и прочее и прочее. Но это стало возможным, когда появилось программирование с использованием переменных величин, тех самых A, B, C и тому подобное! Без этого уровня абстракции, без переменных не было бы программирования. Справедливости ради, надо сказать, что цифры (простые и не очень простые числа) остались в программировании. Они тоже нужны. Их назвали иностранным словом «константы».
Константы – это величины, которые никогда и ни при каких обстоятельствах не меняют свои значения.
А что такое переменная в программировании?
Переменные, в отличие от констант, то и дело меняют свои значения, постоянно их меняют, оттого они и называются переменными величинами.
Так что наряду с выражением C = A + B, в программировании возможно как выражение C = A + 3, так и C = 2 + B.
Однако в левой части программного выражения (до знака равенства «=») константа не может употребляться. Там может быть только переменная, поскольку значение выражения, которое присваивается переменной в левой части выражения, может меняться в зависимости от значений переменных в правой части выражения. А значит, слева может быть только переменная величина. Благодаря латинским буквам, которые используются вместо цифр, арифметика превратилась в алгебру.[7]