sonyps4.ru

Теория программирования — переменные. Понятие переменной

Дадим определения переменной и ее различных видов.

Переменная – это наблюдаемое свойство объекта, которое может принимать два и более значений .

Например, каждый человек имеет такое свойство, как пол. Это свойство может принимать два значения: мужской пол и женский пол. Можно так сказать, что переменная «пол» пробегает по двум значениям. Это не значит, что один и тот же человек может быть то мужчиной, то женщиной. Это означает, что каждый есть либо мужчина, либо женщина.

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

Здесь опять же не идет речь о том, что один и тот же человек может менять свою национальность, он то русский, то татарин и т. д. Это означает, что каждый человек либо русский, либо татарин и т. д. То есть переменная «национальность» пробегает по множеству значений: русский, татарин, калмык и т. д.

В случае, когда имеем дело с интервальной шкалой, значений может быть в принципе бесконечно много. Например, ясно, что значений такой переменной, как рост человека в принципе бесконечно много: 152 см, 152,1 см, 152,15 см, 157,115 см и т. д. Чтобы ограничить число значений, вводятся интервалы: от 150 до 155 см, от 155 до 160 см … от 200 до 210 см. Каждый интервал приравнивается средней величине: 152,5 см, 157,5 см и т. д. В таком случае в диапазоне от 150 до 210 см переменная будет принимать всего 12 значений.

Социальный статус можно определять как высокий и как низкий (2 значения переменной), но можно определять как высокий, средний, низкий (3 значения переменной «социальный статус»). Можно еще больше дифференцировать: высший-высший, средний-высший, низший-высший, высший-средний, средний-средний, низший-средний, высший-низший, средний-низший, низший-низший. Тогда получается 9 значений.

Различаются качественные и количественные переменные. Значения первых нельзя сравнивать по принципу «больше-меньше» или «лучше-хуже». Сюда можно отнести пол (мужской, женский), национальность (русский, татарин, калмык и т. п.).

Значения вторых переменных можно сравнивать и измерять количественно по принципу «больше-меньше», например, возраст (старше-младше), годовой доход (больше-меньше), образование (выше-ниже).

Различаются зависимые и независимые переменные. Зависимые переменные меняют свое значение при изменении значений других переменных. Независимые переменные − это такие, изменение которых приводит к изменениям других переменных. Например, очевидно, что при изучении связи между переменными «пол» и «наличие водительских прав», первая переменная будет независимой, а вторая – зависимой переменной. Дело в том, что приобретение водительских прав или их утрата не приводит к смене пола. А вот пол влияет, если можно так выразиться, на наличие водительских прав: среди мужчин автолюбители встречаются чаще, чем среди женщин.



Когда строят графики, значения независимой переменной обычно располагают на горизонтальной оси, она называется абсциссой. А значения зависимой переменной на вертикальной оси, она называется ординатой.

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

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

Таблица 10.1

Рис. 10.1. График зависимости между коэффициентом интеллекта и законченным учебным заведением

Но мы можем провести исследование, чтобы проверить другую гипотезу: чем выше образование, тем выше интеллект. Теперь мы примем в качестве независимой переменной образование, а в качестве зависимой – интеллект. Зафиксируем средний коэффициент интеллекта у респондентов со средней школой, далее у респондентов с техникумом и респондентов с высшим образованием. И построим табл. 10.2. и график (рис. 10.2).

Таблица 10.2

Рис. 10.2. График зависимости между законченным учебным заведением и коэффициентом интеллекта

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

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

Классификация

Статическая и динамическая типизация переменных

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

Простые и сложные переменные

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

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

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

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

Соглашения об именовании переменных

См. также


Wikimedia Foundation . 2010 .

Смотреть что такое "Переменная (программирование)" в других словарях:

    У этого термина существуют и другие значения, см. Динамическая переменная. Динамическая переменная переменная в программе, место в оперативной памяти под которую выделяется во время выполнения программы. По сути, она является даже не… … Википедия

    - (англ. environment variable) текстовая переменная операционной системы, хранящая какую либо информацию например, данные о настройках системы. Содержание 1 Переменные среды UNIX 2 Переменные среды Windows … Википедия

    Переменная атрибут физической или абстрактной системы, который может изменять своё значение. Значение может меняться в зависимости от контекста, в котором рассматривается система, или в случае уточнения, о какой конкретно системе идёт речь … Википедия

    Термин переменная может означать: Переменная (программирование) поименованная, либо адресуемая иным способом область памяти, адрес которой можно использовать для осуществления доступа к данным. Переменная величина в математике символ,… … Википедия

    Раздел программирования, связанный с изучением и разработкой методов и средств для: а) адекватного описания в программах естественного параллелизма моделируемых в ЭВМ и управляемых ЭВМ систем и процессов, б) распараллеливания обработки информации … Математическая энциклопедия

    В программировании глобальной переменной называют переменную, областью видимости которой является вся программа (кроме затенённых (англ.) областей). Механизмы взаимодействия с глобальными переменными называют global state или global… … Википедия

    Динамическая переменная термин. Динамическая переменная (программирование) Динамическая переменная (физика) … Википедия

    В программировании локальной переменной называют переменную, объявленную внутри блока кода. Область видимости локальной переменной начинается в точке её объявления и заканчивается в конце этого блока. Эта статья содержит нез … Википедия

    У этого термина существуют и другие значения, см. Параметр (значения). Параметр в программировании принятый функцией аргумент. Термин «аргумент» подразумевает, что конкретно и какой конкретной функции было передано, а параметр в каком качестве… … Википедия

    У этого термина существуют и другие значения, см. SSI. SSI (Server Side Includes включения на стороне сервера) несложный язык для динамической «сборки» веб страниц на сервере из отдельных составных частей и выдачи клиенту полученного HTML… … Википедия

Данные, как вы знаете, хранятся в памяти компьютера, но для указания на конкретную информацию очень неудобно все время записывать физические адреса ячеек. Эта проблема в языках программирования высокого уровня, в частности в Паскале, решена введением понятия переменной. Переменная – это именованный участок памяти для хранения данных определенного типа. Значение переменной (информация в соответствующих ячейках памяти) в ходе выполнения программы может быть изменено. Константами же, как вы уже знаете, называются величины, значение которых в ходе выполнения программы изменено быть не может. Конкретные переменные и константы представляют собой объекты уникальные и отличаются друг от друга именем. В качестве данных в программах на языке Паскаль могут выступать числа, символы, целые строки символов. С различными видами информации выполняются совершенно разные действия. Например, с числовыми величинами производятся арифметические операции, чего невозможно сделать с символьными. Кроме того, разные виды данных требуют различного объема памяти для хранения. В соответствии с этими соображениями в языке Паскаль введено понятие "Тип". Тип переменной указывает на то, какие данные могут быть сохранены в этом участке памяти, и в каких действиях эта переменная может участвовать. Существуют зарезервированные (базовые) типы в языке Паскаль, но, есть также возможность создавать свои собственные, определяемые программистом типы переменных. К базовым типам относятся:

тип целых чисел - Integer

тип "длинных" целых чисел - Longint

тип действительных (вещественных) чисел (то есть - с дробной частью) - Real

тип неотрицательных целых чисел от 0 до 255 - Byte

тип неотрицательных целых чисел от 0 до 65535 - Word

символьный тип - Char

строковый тип - String

логический тип - Boolean

Физически типы данных отличаются друг от друга количеством ячеек памяти (байтов), отводимых для хранения соответствующей переменной. Логическое же отличие проявляется в интерпретации хранящейся информации. Например, переменные типа Char и типа Byte занимают в памяти по одному байту. Однако в первом случае содержимое ячейки памяти интерпретируется как целое беззнаковое число, а во втором - как код (ASC) символа. В отличие от констант, неименованных переменных не существует.

Все используемые в программе переменные должны быть описаны в соответствующем разделе описания. Раздел описания переменных начинается служебным словом Var , после которого следуют записи следующего вида: <Список имен переменных>:<Название типа>; Список может состоять из нескольких имен (при этом они разделяются запятыми), а также и из одного имени. Тип, указываемый после двоеточия, определяет, какие данные теперь могут храниться в описанных таким образом переменных. Для каждого используемого в программе типа переменных в разделе их описания должна быть, как минимум, одна собственная строка.

A,B,H_22,Angle: Real;

Переменная есть некоторое свойство реального события, которое было измерено. Переменные, в отличие от теории, относятся к реальности.

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

Итак, можно измерить тревогу по шкале , тенденцию к вступлению в члены группы оценить с помощью расстояния , на котором субъекты исследования расположены один относительно другого. Эти два измерения являются переменными в эксперименте. Вычисление корреляции между двумя переменными позволит проверить гипотезу. Наличие или отсутствие корреляции между переменными считается проверкой теории, которая привела к эксперименту.

Типы переменных

1. Независимые переменные . Среди них выделяются экспериментальные и дифференциальные переменные.

Экспериментальные переменные – это те переменные, которые экспериментатор изменяет по своему желанию и наблюдает их влияние на зависимые переменные. Например, экспериментатор варьирует сложность задания или интенсивность стимула.

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

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

3. Переменные помех (нарушения ). Это переменные, которые не контролируются в ходе эксперимента и которые могут оказывать влияние на зависимые переменные. Помехи ошибочно могут быть отнесены к экспериментальным переменным. Например, неприятный (надоедливый, навязчивый) шум в комнате, в которой субъекты проходят тест на интеллект.

4. Переменные вмешательства (случайные переменные). Это переменные, которые состоят из некоторых характеристик субъектов, которые могут влиять на результаты эксперимента. Например, усталость, низкая мотивация и т. д.

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

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

В языке C++ прежде чем использовать переменную, ее необходимо объявить. Объявить переменную с именемx можно так:int x;

В объявлении первым стоит название типа переменной int (целое число), а затем идентификаторx – имя переменной. У переменнойx есть тип – в данном случае целое число. Тип переменной определяет, какие возможные значения эта переменная может принимать и какие операции можно выполнять над данной переменной. Тип переменной изменить нельзя, т.е. пока переменнаяx существует, она всегда будет целого типа.

Язык C++ строго типизированный язык. Любая величина, используемая в программе, принадлежит к какому-либо типу. При любом использовании переменных в программе проверяется, применимо ли выражение или операция к типу переменной. Довольно часто смысл выражения зависит от типа участвующих в нем переменных.

Например, если записать x+y , гдеx – переменная, то переменнаяy должна быть одного из числовых типов.

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

Основные типы данных

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

char short int long float double

Первые четыре типа используются для представления целых, последние два – для представления чисел с плавающей точкой. Переменная типа char имеет размер, естественный для хранения символа на данной машине (обычно, байт), а переменная типа int имеет размер, соответствующий целой арифметике на данной машине (обычно, слово). Диапазон целых чисел, которые могут быть представлены типом, зависит от его размера. В C++ размеры измеряются в единицах размера данных типа char, поэтому char по определению имеет размер единица.

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

Тип Размер памяти в байтах Диапазон значений

char 1 от -128 до 127

int 2 от -32768 до 32767

short 2 от -32768 до 32767

long 4 от -2 147 483 648 до 2 147 483 647

unsigned char 1 oт 0 до 255

unsigned int 2 от 0 до 65535

unsigned short 2 от 0 до 65535

unsigned long 4 от 0 до 4 294 967 295

Для переменных, представляющих число с плавающей точкой используются следующие модификаторы-типа: float, double, long double.

Величина с модификатором-типа float занимает 4 байта. Из них 1 байт отводится для знака, 8 бит для избыточной экспоненты и 23 бита для мантиссы. Отметим, что старший бит мантиссы всегда равен 1, поэтому он не заполняется, в связи с этим диапазон значений переменной с плавающей точкой приблизительно равен от 3.14E-38 до 3.14E+38.

Величина типа double занимает 8 бит в памяти. Ее формат аналогичен формату float. Биты памяти распределяются следующим образом: 1 бит для знака, 11 бит для экспоненты и 52 бита для мантиссы. С учетом опущенного старшего бита мантиссы диапазон значений равен от 1.7E-308 до 1.7E+308.



Загрузка...