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

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

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

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

Добавлен: 02.04.2023

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

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

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

Само название «переменная» предполагает ее изменчивость.

Важнейшее положение языков программирования:

После присвоения переменной некоторого значения вместо этого значения можно использовать переменную. Это равносильно использованию самих значений.

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

В приведенном примере в первом варианте программы переменными являются: а, b, c, х, Y. Во втором варианте программы название некоторых переменных изменены и имеют имена: k1,k2,k3,x,Y. Только от программиста зависит, какие имена будут у переменных.

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

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

После трансляции программы в машинные коды каждой переменной в компьютере выделяется определенная область оперативной памяти со своим адресом. Делают это трансляторы при переводе кодов программы, написанной программистом, в машинные коды и операционная система.

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

2.2. Анализ работы с переменными

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

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

type var Name;

Где type - это указание типа переменной, а var Name - имя переменной. Тип переменной определяет ее поведение, а имя переменной позволит вам не запутаться среди придуманных переменных. Предположим, нам поручили подсчитать число всех посаженных тополей и берёз в городе. Для этого нам нужно обьявить переменные для тополей и берёз, как мы их назовём это уже личное дело. Например так:


int Topolya; // мы объявили переменную Topolya типа int

int Beryozy; // мы объявили переменную Beryozy тоже типа int

Используя понятные имена, мы не ошибемся в выборе переменных после подсчета всех деревьев.

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

Правила объявления переменных

Существует несколько правил которыми нельзя пренебрегать.

Переменная должна быть объявлена до ее использования.

Переменную можно объявлять только внутри класса, как часть определения функции или внутри тела функции.

- Переменные, объявленные внутри класса, называются полями.

- Переменные, используемые для определения функции, называются параметрами.

- Переменные, объявленные внутри функции, называются локальными переменными.

Переменные должны начинаться с буквы или символа подчеркивания.

Имена переменных могут содержать в себе буквы цифры и значки подчеркивания.

Нельзя использовать в качестве имен переменных ключевые слова

Я приведу несколько примеров об]явления переменных:

// Правильные переменные

string _animal = "кот";

string Animal_Year = "2 года";

string animal_Name = "Никсон";

// Неправильные переменные

string 3animal = "животное"; //начинается с цифры

string elephant, Meow, Day = "Обезьяна"; //нельзя использовать запятую

Можно объявлять более одной переменной в одном операторе присваивания. В этом случае все переменные отделяются запятыми и принадлежат к одному типу

string animal, years, name;

Если в строке выше мы только объявили переменные и чтобы начать их использовать мы должны их инициализировать, проще говоря присвоить им значение например:

animal = “Слон”;

years = “10 лет”;

name = “Ушастик”;

то в строке ниже, мы сразу инициализируем объявляемую переменную

String animals = “Кот”;

Можно также инициализировать переменную динамически, используя любое действительное выражение. Например, для вычисления периметра нам совсем не обязательно присваивать значения всем переменным. На примере возьмём код написанный на языке C#:

int widthSquare = 5; // присваиваем переменной значение

int perimeter = widthSqare * 4; // динамически инициализируем переменную perimeter. В данной строчке переменная perimrter будет равнв 5 умноженное на 4, таким образом мы динамически присвоили переменной perimeter значение 20.

Следует обратить внимание на то что язык C# очень чувствителен к именам. Если мы ошибетёмся в одной букве, то программа даже если будет работать, то выдавать она будет совсем неправильные результаты. Например, все перечисленные имена переменных будут являться совершенно разными: Width, wIdth, WidtH, width, WIdth


Присваивания

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

A = 3

B = 5

C = 6

D = A + B + C

Если перевести это простое упражнение на язык C#, то выглядеть это будет так:

int A, B, C, D;

A = 3;

B = 5;

C = 6;

D = A + B + C;

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

A = 3

C = A + B

B = 2

В C# менять порядок выражений нельзя. Операторы в C# выполняются последовательно, одно за другим! Во второй строчке примера переменной C присваивается значение суммы переменных A и B, но переменной B мы еще не присвоили никакого значения. Это недопустимо и программа просто не запустится. Также можно использовать круглые скобки для повышения приоритета (аналогично как в математике).

x = y/2 - 3 * z + 127;

m = (n/2 - 3* k) - 220;

В C# знак равенства называется оператором присваивания и обозначается знаком =. Оператор - это символ или короткое слово, которые выполняют операцию. У операторов имеются операнды. Например, оператор присваивания имеет два операнда: переменную слева от знака равенства и выражение справа от знака равенства. В данном случае, оператор присваивания заставляет переменную слева от знака равенства быть присвоенной значению, вычисляемому выражением справа.

В C# допустимо выражение с оператором присваивания, которое будет неправильным в математике:

C = 2;

C = C + 3;

В этом примере во второй строчке переменной C присваивается сумма текущего значения переменной C и числа 3, а предыдущее значение будет перезаписано новым полученным суммированием.

С помощью оператора присваивания также можно выстраивать цепочку присваиваний:

int x, y, z;

x = y = z = 26; // всем переменным присваивается значение 26

Еще можно использовать в программах блоки кода. Блок кода - это объединение нескольких операторов, заключенное в фигурные скобки. Блок кода позволяет создавать логический элемент, который будет использоваться как одиночный оператор. Обычно блок используется в операторах if и for:

If (a > t){

v = w * m;

l = d - r;

}

В этом примере, если переменная a будет больше переменной t, то будут выполняться сразу два оператора умножения и вычитания. По отдельности эти операторы выполняться не будут. Использование блоков кода позволяет создавать специальные алгоритмы для решения различных задач.


Область видимости и время жизни переменных

Блок кода окружается фигурными скобками. Он также определяет область видимости, которая задает время жизни объявляемых переменных. Объявленная внутри области видимости переменная является недоступной для кода, который расположен за этой областью. Следовательно, при объявлении переменной в пределах ее области видимости, мы локализуем эту переменную и защищаем ее от неразрешенного доступа и модификации. Область видимости может быть вложенной. Каждый раз, создавая новый блок кода, мы создаем новую вложенную область видимости, и при этом внешняя область становится видимой для вложенной области. Но при этом объекты, объявленные во внутренней области видимости, будут невидимы для кода во внешней области. Например:

using System;

class ScopeDemo //класс ScopeDemo

{

public static void Main() //метод Main

{

int x; // переменная видна всему коду в пределах метода

x = 10;

if(x == 10)

{ // создается новая область видимости

int y = 20; // переменная будет видна только в этом блоке

// Так как видны обе переменные, мы можем их использовать

Console.WriteLine("Сумма переменных x и y равна: " + (x + y));

}

// y = 100; // если уберём знак комментария, то получим ошибку так как переменная у не видна за пределами блока области видимости

Console.WriteLine("Значение x равно: " + x);

}

}

Попытка присвоить переменной у другое значение за пределами блока приводит к ошибке. Тогда как переменная x видна в обоих блоках кода и доступна для использования.

Еще один важный момент связан с временем жизни переменной. Переменные создаются при их объявлении в какой-либо области видимости (при входе в данную область и уничтожаются при выходе из этой области. Это означает, что переменная не будет сохранять свое значение при выходе из своей области видимости, то есть переменная, объявленная в пределах метода, не будет хранить свои значения между вызовами этого метода. Также, переменная, объявленная в рамках блока, будет терять свое значение при выходе из блока. Следовательно, время жизни перменной ограничено ее областью видимости.

Если при объявлении переменной одновременно происходит ее инициализация, то переменная будет повтороно инициализироваться каждый раз при входе в блок, в котором она объявлена. Например:

using System;

class VarLife //класс VarLife

{

public static void Main() // метод Main

{

int x;

for(x = 0; x < 3; x++) //цикл

{

int y = -2; // переменная инициализируется каждый раз при входе в блок

Console.WriteLine("Значение y равно: " + y);


y = 25;

Console.WriteLine("Значение y равно: " + y);

}

}

}

Запустив программу, мы увидим следующее:

Значение y равно: -2

Значение y равно: 25

Значение y равно: -2

Значение y равно: 25

Значение y равно: -2

Значение y равно: 25

Как мы видим, каждый раз при входе в цикл for переменная y принимает значение -2, затем ей присваивается значение 25, которое утрачивается при завершении цикла.

Комментарии

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

С# поддерживает также многострочные комментарии, заключаемые в комбинации символов «/*» и «*/». В этом случае текст комментария может находиться на многих строчках. Все, что находится между этими разграничительными символами, игнорируется компилятором.

/*

Этот текст в коде

игнорируется компилятором.

*/

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

Заключение

Переменная — это просто символьное имя для значения, которое обеспечивает возможность получить значение по имени, то есть, когда в программе указывается имя переменной вместо неё подставляется значение.

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