что значит значение переменной
Значение слова «переменная»
Переменная (программирование) — поименованная, либо адресуемая иным способом область памяти, адрес которой можно использовать для осуществления доступа к данным и изменять значение в ходе выполнения программы.
Переменная величина в математике — символ, обозначающий какое-то число в алгебраическом выражении.
Независимая и зависимая переменные в статистике.
Переменная звезда — звезда, блеск которой изменяется со временем.
переме́нная
1. матем. поименованная величина, способная принимать различные числовые значения ◆ Если вычисленные значения попарных коэффициентов линейной корреляции между переменными не превышают критического значения (1), то связь между ними следует считать несущественной. В. Н. Ордин, И. М. Якимов, «Моделирование, прогнозирование и оптимизация деятельности текстильного предприятия», 2003 г. // «Информационные технологии» (цитата из НКРЯ)
2. комп. прогр. именованная часть памяти, в которую могут помещаться разные значения ◆ Не существует способа обращения к скрытой локальной переменной. Б. Страуструп, «Язык программирования C++», 1997 г.
Фразеологизмы и устойчивые сочетания
Делаем Карту слов лучше вместе
Привет! Меня зовут Лампобот, я компьютерная программа, которая помогает делать Карту слов. Я отлично умею считать, но пока плохо понимаю, как устроен ваш мир. Помоги мне разобраться!
Спасибо! Я стал чуточку лучше понимать мир эмоций.
Вопрос: конфигурация — это что-то нейтральное, положительное или отрицательное?
Переменная. Зачем нужны переменные?
Переменная – величина, имеющая неизвестное либо переменное (отсюда и название) значение.
Примеры применения переменной:
Зачем нужны переменные?
Как уже говорилось выше, переменные служат для записи изменяемых или пока что неизвестных значений. Например, представьте, что вам нужно попасть на дачу, которая находиться в \(50\) километрах от вашего дома. Вопрос – как быстро вы это расстояние преодолеете?
Ответ: это смотря с какой скоростью мы будем двигаться! Если пешком (скорость \(5\) км/ч), то за \(\frac<50><5>\) \(=10\) часов. Если на велосипеде (скорость \(10\) км/ч), то за \(\frac<50><10>\) \(=5\) часов. А если на машине (скорость \(50\) км/ч), то за \(\frac<50><50>\) \(=1\) час.
Значение переменной и значение выражения
Значением переменной называют то конкретное число, которое подставляют вместо буквы.
Например, пусть у нас есть выражение \(3a^<2>\) содержащее переменную \(a\). Если мы возьмем значением переменной \(a\) число \(2\), то значение этого выражения будет \(3a^<2>=3\cdot2^<2>=3\cdot4=12\). Если же мы примем \(a=7\), то \(3a^<2>\) станет равно \(3\cdot7^<2>=3\cdot49=147\). И так далее.
Значение числового, буквенного выражения и выражения с переменными
В процессе разбора тем о числовых, буквенных выражениях и выражениях с переменными следует обратить внимание на понятие значение выражения. Ниже дадим определение этому термину, рассмотрим примеры.
Что такое значение числового выражения
Мы знакомимся с числовыми выражениями с самого начала школьного обучения. Да и почти сразу начинает использоваться понятие «значение числового выражения». Так обозначают выражения, составляющие которого – числа, соединяемые знаками арифметических действий: плюс, минус, умножить, разделить.
Значение числового выражения – это конечное число, получаемое в результате выполнения заданных действий в исходном числовом выражении.
Зачастую в словосочетании «значение числового выражения» слово «числовое» не употребляют, поскольку в любом случае понятно, значение какого выражения рассматривается.
В основном интерес вызывает не само числовое выражение, а его значение. Практически всегда существует задача по нахождению значения заданного выражения, которая так и обозначается: «найти значение выражения». В соответствующей статье можно детально изучить сам процесс нахождения значения числовых выражения разного рода с примерами.
Значение буквенного выражения и выражения с переменными
Кроме числовых, интерес представляют и буквенные выражения – те выражения, составляющими которого являются, в том числе, одна или несколько букв. Буквы в буквенном выражении обозначают разные числа, и при замене букв на числа получается числовое выражение.
Значения букв – числа, которые заменяют эти буквы в буквенном выражении. Тогда значение буквенного выражения при заданных значениях букв – это значение полученного числового выражения.
Таким образом, речь идет не о значении буквенного выражения, как такового, а о его значении, когда заданы (определены) конкретные значения букв.
В программе алгебры буквы в буквенном выражении могут принимать разнообразные значения, тогда буквы называют переменными, а буквенные выражения – выражениями с переменными. Логично следует введение понятия значения выражений при выбранных значениях переменных.
Значение выражения с переменными при выбранных значениях переменных – это значение числового выражения, полученное при подстановке конкретных выбранных значений переменных в заданное выражение.
Возможен вариант, когда выбранные переменные –различны, а значение исходного выражения при этих переменных одинаково.
Значения переменных возможно задать из областей допустимых значений, которые им соответствуют, поскольку в ином случае, подставив значения, не принадлежащие области допустимых значений, можно получить числовое выражение, не имеющее смысла.
Переменная
Переменная — это именованная область памяти для хранения данных, которые могут изменяться в процессе исполнения программы.
Имена и типы переменных указываются в разделе описаний и не могут изменяться в процессе выполнения программы.
Дискретные (можно перечислить возможные значения):
Вещественные (real, double, extended) — служат для представления действительных чисел с ограниченной точностью.
Для обмена информацией между компьютером, исполняющим программу, и пользователем служат операторы ввода и вывода (точнее, операторы вызова процедур ввода и вывода).
Оператор ввода нужен, чтобы компьютер получил исходные данные. В программе на Pascal он записывается следующим образом:
При выполнении оператора программа будет приостановлена, пока пользователь не наберет на клавиатуре значения и не нажмет клавишу «Enter». Затем введенные значения будут помещены в переменные, указанные как параметры процедуры ввода. Например, при выполнении оператора
компьютер будет ожидать ввода двух значений, которые затем будут помещены в переменные a и b.
Операторы read и readln отличаются тем, что во втором случае после ввода данных будет переведена строка, т.е. последующие сообщения компьютера будут выводиться с новой строки.
Оператор вывода нужен, чтобы компьютер показал результаты работы программы или какие-либо вспомогательные сообщения. В программе на Pascal он записывается следующим образом:
При выполнении оператора вычисляются значения выражений, после чего эти значения выводятся на экран монитора. Например, при выполнении оператора
на экран будет выведена сумма переменных a и b, а также значение переменной c. Если нужно вывести на экран какое-либо текстовое сообщение, его нужно заключить в апострофы (одиночные кавычки):
Операторы write и writeln отличаются тем, что во втором случае после вывода данных будет переведена строка, т.е. последующие сообщения компьютера будут выводиться с новой строки.
Для того чтобы переменная получила или изменила свое значение, используется оператор присваивания. В Pascal он записывается следующим образом:
Тип переменной должен совпадать с типом выражения либо быть «более широким» совместимым (т.е. вещественной переменной можно присвоить значение целого выражения; строковой переменной можно присвоить значение символьного выражения).
Компьютер сначала вычисляет значение выражения в правой части оператора присваивания, затем помещает его в переменную, указанную слева от символа присваивания «:=».
Например, при выполнении оператора
переменная x получит значение суммы переменных a и b. При выполнении оператора
значение переменной n увеличится на единицу.
Запомните! При присваивании переменной нового значения старое будет потеряно безвозвратно. Например, после выполнения операторов a := b;
обе переменные будут иметь одинаковые значения, равные тому, которое имела переменная b.
Рассмотрим, как составить простую программу, выполняющую какие-либо вычисления. Для этого нам нужно:
Рассмотрим простейший пример.
Разработать программу, вычисляющую длину окружности и площадь круга по известному радиусу.
1) Определим исходные данные и результаты задачи. В данном случае они явно указаны в условии: исходная величина — радиус, результаты — длина окружности и площадь круга. Используем для них традиционные обозначения: R, L и S, соответственно. Все эти переменные могут принимать как целые, так и дробные числовые значения, поэтому следует использовать вещественный тип данных, например, Real.
2) Математически задача описывается известными формулами:
3) Алгоритм в данном случае предельно прост:
4) При вычислениях нам (точнее, компьютеру) потребуется значение π. Вообще говоря, практически все реализации Pascal имеют встроенную константу PI, но мы объявим подобную константу самостоятельно.
Руководство по JavaScript, часть 3: переменные, типы данных, выражения, объекты
Сегодня, в третьей части перевода руководства по JavaScript, мы поговорим о разных способах объявления переменных, о типах данных, о выражениях и об особенностях работы с объектами.
Переменные
Переменная представляет собой идентификатор, которому присвоено некое значение. К переменной можно обращаться в программе, работая таким образом с присвоенным ей значением.
Сама по себе переменная в JavaScript не содержит информацию о типе значений, которые будут в ней храниться. Это означает, что записав в переменную, например, строку, позже в неё можно записать число. Такая операция ошибки в программе не вызовет. Именно поэтому JavaScript иногда называют «нетипизированным» языком.
▍Ключевое слово var
До появления стандарта ES2015 использование ключевого слова var было единственным способом объявления переменных.
Так, если включён так называемый строгий режим (strict mode), подобное вызовет ошибку. Если строгий режим не включён, произойдёт неявное объявление переменной и она будет назначена глобальному объекту. В частности, это означает, что переменная, неявно объявленная таким образом в некоей функции, окажется доступной и после того, как функция завершит работу. Обычно же ожидается, что переменные, объявляемые в функциях, не «выходят» за их пределы. Выглядит это так:
В одном выражении можно объявить несколько переменных:
Областью видимости переменной (scope) называют участок программы, в котором доступна (видима) эта переменная.
Переменная, инициализированная с помощью ключевого слова var за пределами какой-либо функции, назначается глобальному объекту. Она имеет глобальную область видимости и доступна из любого места программы. Если переменная объявлена с использованием ключевого слова var внутри функции, то она видна только внутри этой функции, являясь для неё локальной переменной.
Важно понимать, что блоки (области кода, заключённые в фигурные скобки) не создают новых областей видимости. Новая область видимости создаётся при вызове функции. Ключевое слово var имеет так называемую функциональную область видимости, а не блочную.
Если в коде функции объявлена некая переменная, она видна всему коду функции. Даже если переменная объявлена с помощью var в конце кода функции, обратиться к ней можно и в начале кода, так как в JavaScript работает механизм поднятия переменных (hoisting). Этот механизм «поднимает» объявления переменных, но не операции их инициализации. Это может стать источником путаницы, поэтому возьмите себе за правило объявлять переменные в начале функции.
▍Ключевое слово let
Если само слово «let» кажется не очень понятным, можно представить, что вместо него используется слово «пусть». Тогда выражение let color = ‘red’ можно перевести на английский так: «let the color be red», а на русский — так: «пусть цвет будет красным».
Например, такой код вызовет ошибку:
▍Ключевое слово const
В данном примере константе a нельзя присвоить новое значение. Но надо отметить, что если a — это не примитивное значение, наподобие числа, а объект, использование ключевого слова const не защищает этот объект от изменений.
Когда говорят, что в переменную записан объект, на самом деле имеют в виду то, что в переменной хранится ссылка на объект. Эту вот ссылку изменить не удастся, а сам объект, к которому ведёт ссылка, можно будет изменить.
Ключевое слово const не делает объекты иммутабельными. Оно просто защищает от изменений ссылки на них, записанные в соответствующие константы. Вот как это выглядит:
Типы данных
JavaScript иногда называют «нетипизированным» языком, но это не соответствует реальному положению дел. В переменные, и правда, можно записывать значения разных типов, но типы данных в JavaScript, всё-таки, есть. В частности, речь идёт о примитивных и об объектных типах данных.
▍Примитивные типы данных
Вот список примитивных типов данных JavaScript:
Поговорим о наиболее часто используемых типах данных из этого списка.
Тип number
Значения типа number в JavaScript представлены в виде 64-битных чисел двойной точности с плавающей запятой.
В коде числовые литералы представлены в виде целых и дробных чисел в десятичной системе счисления. Для записи чисел можно использовать и другие способы. Например, если в начале числового литерала имеется префикс 0x — он воспринимается как число, записанное в шестнадцатеричной системе счисления. Числа можно записывать и в экспоненциальном представлении (в таких числах можно найти букву e ).
Вот примеры записи целых чисел:
Подсказка по объектной обёртке Number
Обратите внимание на двойные скобки после имени метода. Если их не поставить, система не выдаст ошибку, но, вместо ожидаемого вывода, в консоли окажется нечто, совсем не похожее на строковое представление числа 5.
Глобальный объект Number можно использовать в виде конструктора, создавая с его помощью новые числа (правда, в таком виде его практически никогда не используют), им можно пользоваться и как самостоятельной сущностью, не создавая его экземпляры (то есть — некие числа, представляемые с его помощью). Например, его свойство Number.MAX_VALUE содержит максимальное числовое значение, представимое в JavaScript.
Тип string
Значения типа string представляют собой последовательности символов. Такие значения задают в виде строковых литералов, заключённых в одинарные или двойные кавычки.
Строковые значения можно разбивать на несколько частей, используя символ обратной косой черты (backslash).
Строка может содержать так называемые escape-последовательности, интерпретируемые при выводе строки в консоль. Например, последовательность \n означает символ перевода строки. Символ обратной косой черты можно использовать и для того, чтобы добавлять кавычки в строки, заключённые в такие же кавычки. Экранирование символа кавычки с помощью \ приводит к тому, что система не воспринимает его как специальный символ.
Шаблонные литералы
В ES2015 появились так называемые шаблонные литералы, или шаблонные строки. Они представляют собой строки, заключённые в обратные кавычки ( ` ) и обладают некоторыми интересными свойствами.
Например, в шаблонные литералы можно подставлять некие значения, являющиеся результатом вычисления JavaScript-выражений.
Использование обратных кавычек упрощает многострочную запись строковых литералов:
Тип boolean
В частности, ложными значениями являются следующие:
Остальные значения являются истинными.
Тип null
Тип undefined
▍Объекты
Выражения
Выражения — это фрагменты кода, которые можно обработать и получить на основе проведённых вычислений некое значение. В JavaScript существует несколько категорий выражений.
Арифметические выражения
В эту категорию попадают выражения, результатом вычисления которых являются числа.
Строковые выражения
Результатом вычисления таких выражений являются строки.
Первичные выражения
В эту категорию попадают литералы, константы, ссылки на идентификаторы.
Сюда же можно отнести и некоторые ключевые слова и конструкции JavaScript.
Выражения инициализации массивов и объектов
Логические выражения
В логических выражениях используются логические операторы, результатом их вычисления оказываются логические значения.
Выражения доступа к свойствам
Эти выражения позволяют обращаться к свойствам и методам объектов.
Выражения создания объектов
Выражения объявления функций
Выражения вызова
Такие выражения используются для вызова функций или методов объектов.
Работа с объектами
▍Прототипное наследование
JavaScript выделяется среди современных языков программирования тем, что поддерживает прототипное наследование. Большинство же объектно-ориентированных языков используют модель наследования, основанную на классах.
У каждого JavaScript-объекта есть особое свойство ( __proto__ ), которое указывает на другой объект, являющийся его прототипом. Объект наследует свойства и методы прототипа.
Предположим, у нас имеется объект, созданный с помощью объектного литерала.
Проверить это можно следующим образом.
Все свойства и методы прототипа доступны объекту, имеющему этот прототип. Вот, например, как выглядит их список для массива.
Подсказка по массиву
У Object.prototype прототипа нет.
То, что мы видели выше, является примером цепочки прототипов.
При попытке обращения к свойству или методу объекта, если такого свойства или метода у самого объекта нет, их поиск выполняется в его прототипе, потом — в прототипе прототипа, и так — до тех пор, пока искомое будет найдено, или до тех пор, пока цепочка прототипов не кончится.
Функции-конструкторы
Выше мы создавали новые объекты, пользуясь уже имеющимися в языке функциями-конструкторами (при их вызове используется ключевое слово new ). Такие функции можно создавать и самостоятельно. Рассмотрим пример.
Здесь мы создаём функцию-конструктор. При её вызове создаётся новый объект, на который указывает ключевое слово this в теле конструктора. Мы добавляем в этот объект свойство name и записываем в него то, что передано конструктору. Этот объект возвращается из конструктора автоматически. С помощью функции-конструктора можно создать множество объектов, свойства name которых будут содержать то, что передано при их создании конструктору.
▍Классы
В стандарте ES6 в JavaScript пришло такое понятие как «класс».
До этого в JavaScript можно было пользоваться лишь вышеописанным механизмом прототипного наследования. Этот механизм непривычно выглядел для программистов, пришедших в JS из других языков. Поэтому в языке и появились классы, которые, по сути, являются «синтаксическим сахаром» для прототипного механизма наследования. То есть, и объекты, созданные традиционным способом, и объекты, созданные с использованием классов, имеют прототипы.
Объявление класса
Вот как выглядит объявление класса.
Наследование, основанное на классах
Классы могут расширять другие классы. Объекты, созданные на основе таких классов, будут наследовать и методы исходного класса, и методы, заданные в расширенном классе.
Если класс, расширяющий другой класс (наследник этого класса) имеет метод, имя которого совпадает с тем, который есть у класса-родителя, этот метод имеет преимущество перед исходным.
В классах не предусмотрено наличие переменных (свойств), свойства создаваемых с помощью классов объектов нужно настраивать в конструкторе.
Статические методы
Методы, описываемые в классе, можно вызывать, обращаясь к объектам, созданным на основе этого класса, но не к самому классу. Статические ( static ) методы можно вызывать, обращаясь непосредственно к классу.
Приватные методы
В JavaScript нет встроенного механизма, который позволяет объявлять приватные (частные, закрытые) методы. Это ограничение можно обойти, например, с использованием замыканий.
Геттеры и сеттеры
Итоги
В этом материале мы поговорили о переменных, о типах данных, о выражениях и о работе с объектами в JavaScript. Темой нашего следующего материала будут функции.
Уважаемые читатели! Если вы уже давно пишете на JS, просим рассказать о том, как вы относитесь к появлению в языке ключевого слова class.