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

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

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

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

Добавлен: 22.04.2023

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

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

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

ВВЕДЕНИЕ

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

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

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

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

·    изучить понятие переменных в программировании;

·    изучить тему типов переменных;

·    изучить целочисленные переменные ;

·    изучить вещественные переменные;

·    изучить символьные переменные;

·    изучить логические или условные выражения ;

·    изучить массив переменных ;

·    изучить текстовые строки.

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

Предмет исследования: тема “ Понятие переменной в программировании. Виды и типы ”  

1.ПОНЯТИЕ ПЕРЕМЕННОЙ В ПРОГРАММИРОВАНИИ

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

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

Согласитесь что данное выражение:

1+2=3

Существенно отличается от выражения:

А+В=С

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


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

Присваивание переменной величине любого значения приводит к необходимости классификации (типизации) переменных величин.

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

2.ТИП ПЕРЕМЕННОЙ

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

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

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

3. ЦЕЛОЧИСЛЕННЫ ПЕРЕМЕННЫЕ

Целочисленный тип это тип данных, переменные которого могут содержать только целые числа (без дробной части, например: -2, -1, 0, 1, 2). Данные целые числа является основными для любого алгоритмического языка. Связано это с тем, что содержащееся в ячейке памяти или регистра процессора, возможно рассматривать только как целое число. Адреса данных элементов памяти также представляют собой целые числа, с их помощью записываются машинные команды и т.д. Символы, используемые в компьютере, являются целыми числами - их кодами в разных кодировках. Так же изображения задаются массивами целых чисел: для каждой точки изображения хранятся интенсивности ее красных, зеленых и синих составляющих (в большинстве случаев - в диапазоне от 0 до 255). Как говорят математики, целые числа даны свыше, все остальное сконструировал из них человек.


Общепринятый термин в программировании целое число или целочисленная переменная, является не совсем корректным. Целых чисел бесконечно много, запись целых чисел в десятичном или двоичном кодах может быть сколь угодно длинной и не помещаться в области памяти, отведенной под одну переменную. Целая переменная в компьютере может хранить лишь ограниченное множество целых чисел в некотором интервале. Под целую переменную, в современных компьютерах отводится 4 байта, т.е. 32 двоичных разряда. Она может хранить числа от нуля до 2 в 32-й степени минус 1. Таким образом, максимальное целое число, которое может храниться в целочисленной переменной, равно

2³² -1= 4294967295

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

a+b = b+a,  ab = ba

(a+b) + c = a+(b+c), (ab)c = a(bc)

a(b+c) = ab+ac

В языке Си целым числам соответствуют типы int, char и bool:

  1. int - двух- или четырехбайтовое целое значение со знаком в диапазоне -2 147 483 648   /   2 147 483 647;
  2. char - это целочисленный тип данных, который используется для представления символов;
  3. bool - целочисленный тип данных, так как диапазон допустимых значений — целые числа от 0 до 255

Int - целочисленное значение типа integer (целое) является одним из самых распространенных и простейшим типом данных служащих для предоставления целых чисел. В программировании различают целые числа со знаком и беззнаковые целые числа. Знак числа обычно указывается (кодируется) в старшем, т.е. знаковом разряде. Соответственно если старший бит записан как 1, то число является отрицательным, если оно не определено как беззнаковое. Целочисленное значение типа integer  имеет в памяти компьютера следующее представление:

Рис. 1  Битовая структура типа integer

сhar – данный целочисленный тип данных используется для представления символов. Этот тип данных использует 1 байт, соответственно каждому символу соответствует число в диапазоне от 0 до 255. Благодаря данному типу данных возможно графическое изображение символов.

bool – так же является целочисленным типом данных, так как диапазоном допустимых значений являются целые числа от 0 до 255. Этот тип данных используется для хранения результатов логических вычислений. У логического выражения может быть один из двух результатов true или false, true – если выражение истинное и false – если выражение ложно. Но диапазон значений типа данных bool составляет от 0 до 255, по этому, необходимо сопоставление данного диапазона с логическими константами true и false. В связи с чем константе true соответствует все числа диапазона от 1 до 255 включительно, а константе эквивалентно только одно целое число – 0.


В связи с такой ситуацией было принято решение об использовании целых чисел в диапазоне от 2 до 255 эквивалентными числу – 1, то есть истина.

4. ВЕЩЕСТВЕННЫЕ ПЕРЕМЕННЫЕ

Вещественные переменные в программировании, в отличие от системы вещественных чисел в математических вычислениях, где они предполагаются не имеющими ограничений на диапазон использования чисел, имеют ограниченное число разрядов, то есть является конечной (дискретной).

Вещественные числа представляются в компьютере в виде чисел плавающей запятой, так называемой экспоненциальной, или плавающей, форме. Вещественное число r имеет следующий вид:

Знак

Порядок

Мантисса

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

14

10

9

0

Рис. 2 Битовая структура вещественного числа r

 А так же ее удобно рассматривать по данному представлению:

r = ±2e* m  

Представление числа состоит из трех элементов:

1.   Знак числа - плюс или минус. Знак числа указывается старшим, т.е. знаковом разряде. Единица указывает на знак минус, т.е. отрицательному числу, а ноль – положительному числу т.е. плюс. Ноль так же имеет нулевой знаковый разряд;

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

3.   Мантисса m представляет собой фиксированное количество разрядов двоичной записи вещественного числа в диапазоне от 1 до 2:


1 ≤ m < 2  

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

В языке Си вещественным числам соответствуют типы float и double.

float – данный тип вещественного числа занимает 4 байта, из которых один бит занят обозначением знака, восемь под порядок, а остальные 23 отводятся под мантиссу (на самом деле, в мантиссе 24 разряда, однако старший разряд всегда равен единице, в связи с чем хранить его не обязательно).

Тип double занимает 8 байтов, в которых один разряд так же отводится под знак, 11 - под порядок, остальные 52 - под мантиссу. На самом деле, в мантиссе 53 разряда, однако старший разряд всегда равен единице, в связи с чем хранить его не обязательно. В связи с тем что порядок может быть как положительным так и отрицательным, в двоичном коде он хранится в смещенном виде: к нему прибавляется константа, равная абсолютной величине максимального по модулю отрицательного порядка. В случае типа float она равна 127, в случае double - 1023. Таким образом, максимальный по модулю отрицательный порядок представляется нулевым кодом.

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

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

a+b = a   при b ≠ 0

Более того, для сложения не выполняется закон ассоциативности: