Урок 5_6. Хранение данных.
Существуют три основных типа величин с которыми работает компьютер: числовой, символьный и логический.
Изучая базы данных и электронные таблицы, вы уже встречались с этими типами. В данной главе мы будем строить алгоритмы, работающие с числовыми величинами.
Числовые величины в программировании, так же, как и математические величины, делятся на переменные и константы (постоянные). Например, в формуле (a2 - 2ab + b2) а, b — это переменные, 2 — это константа.
Во время работы компьютера данные хранятся в оперативной памяти. При написании программы программист должен как-то обозначить место, отводимое в памяти для обрабатываемых данных. Любое числовое, символьное или какое-либо иное значение, используемое в программе, заносится в оперативную память и извлекается оттуда, когда в этом возникает необходимость.
Константа.
Некоторые элементы данных могут иметь одно и то же значение в течение всего времени выполнения программы. Если их изменение вообще не предусматривается, то эти элементы данных считаются константами. Константа не обязана быть отдельным числом — она может представлять собой, например, строку текстового сообщения, выдаваемого программой. Константы обычно используются в программе непосредственно без использования каких-либо дополнительных обозначений.
Константа – величина, которая не может быть изменена в ходе выполнения программы. Значение константы однозначно определяется её написанием.
Целые константы — это целые числа (без точки). Знак + можно опускать.
Примеры: 45, -123, 0, 123
Вещественные константы могут быть представлены в двух видах: с фиксированной и плавающей точкой.
Константы с фиксированной точкой — это числа, содержащие точку, разделяющую целую и дробную части.
Примеры: 45.125, -123.0, -7.24
Константы с плавающей точкой — это числа, представленные с десятичным порядком: mEp (без пробелов), где:
m — мантисса (как целые, так и вещественные числа с фиксированной точкой);
Е — признак записи числа с десятичным порядком;
р — порядок числа (только целые числа).
14300000 =1,43*10000000 = 1,43*107 = 1.43E7
m E p
54370000000 = 5.437E10
0,0000046 = 4.6E-6
Значение константы
|
Целая константа
|
Константа с фиксированной точкой
|
Константа с плавающей точкой
|
-257
|
-257
|
-257.0
|
-2.57Е2
|
16,4
|
—
|
16.4
|
1.64Е1
|
0,0032
|
—
|
0.0032
|
0.32Е-2
|
Константы с фиксированной точкой обязательно должны содержать как целую, так и дробную часть:
Значение константы
|
Правильно
|
Неправильно
|
2
|
2.0
|
2.
|
0,5
|
0.5
|
.5
|
Логические константы принимают два значения: True (истинно) и False (ложно).
Символьные константы — это какой-либо один символ, заключенный в апострофы: 'А', '1', '!' и т. п.
Строковые константы — это ряд символов, заключенных в апострофы: '+9CL', 'А В' и т.п. При этом, строчный символ (а) не то же самое, что заглавный (А), так как они имеют различные значения в коде ASCII.
Переменная
В математике переменные – это данные, которые меняют свои значения.
В программировании переменная – это небольшая область в оперативной памяти компьютера, куда во время работы программы можно занести и хранить в закодированном виде некоторую величину, которая имеет имя, тип и значение.
Важно различать такие понятия, как ячейка памяти, переменная, значение переменной и идентификатор переменной.
Ячейки памяти — это элементы оперативной памяти, в которых хранятся данные в виде байтов.
В зависимости от типа переменной ей может выделяться произвольное количество ячеек. Целое число от 0 до 255 занимает одну ячейку. Действительное число — 10 ячеек. А текстовая переменная (например, сообщение от программы) занимает столько ячеек, сколько в сообщении символов.
Программист может не думать о том, где хранится та или иная переменная. За этим следит компилятор, обеспечивающий автоматический перевод с алгоритмических и символических языков в машинные коды.
Компьютерная программа, переводящая код, написанный на одном языке программирования, в другой, называется транслятором, а из языка в машинный код — компилятором.
Транслятор при переводе программы на язык машинных кодов составляет таблицу, в которой каждому употреблённому имени переменной ставится в соответствие конкретный числовой адрес. Этот адрес заменяет имя переменной в программе на машинном языке. Таким образом, можно говорить, что имя переменной однозначно определяет место в ОЗУ, куда можно занести на хранение некоторое значение, а при необходимости – изменять его или использовать в каких-то операциях.
После компиляции идентификаторы исчезают. Машинному коду идентификаторы не нужны. Процессор обращается к ячейкам памяти по их числовым адресам, а не по именам переменных, которые там хранятся.
Значение переменной — это содержимое тех ячеек памяти, в которых хранится переменная. По ходу работы программы это содержимое может меняться.
Идентификатор – имя, свободно избираемое программистом для элементов программы (переменных, констант, процедур, функций и типов данных).
Правила организации идентификаторов
-
В идентификаторах используются буквы латинского языка, символом подчеркивания (_) и цифры со второй позиции.
-
Пробел в языках программирования является разделителем и не может стоять внутри идентификатора. Для создания идентификаторов, состоящих из двух слов, можно воспользоваться большими буквами (ReadText) или символом подчеркивания (Read_Text), но не пробелом (ReadText).
-
Зарезервированные слова (print, input и т.д.) в качестве идентификаторов не используются.
-
Идентификаторы могут быть любой длины, но сравнение их между собой производится по первым 63 символам.
-
Изобретая идентификаторы, старайтесь делать их "осмысленными", не экономьте на именах – имя Read_Text всегда лучше, чем RT.
Примеры идентификаторов переменных
Идентификатор
|
Комментарий
|
abcd123zxcv
|
Допустимый
|
123abed
|
Недопустимый (начинается не с буквы)
|
3аяц23
|
Недопустимый (содержит русские буквы)
|
A BCD
|
Недопустимый (содержит пробелы)
|
А&В
|
Недопустимый (содержит специальные символы)
|
I
|
Допустимый
|
abcd
abcdd
|
Идентификаторы разные, так как имеют разную длину
|
ABCDl2efg AbcD12Efg
|
Идентификаторы разные, так как отличаются регистром букв
|
print
|
Недопустимый (совпадает с названием оператора)
|
Д.З.
-
Записать следующие константы с плавающей точкой:
-
567000
-
-6789000
-
0,00000005
2. Записать следующие константы с фиксированной точкой:
-
0,567
-
0,004
-
-35,657
4. Записать константы через математическую запись:
a) 0.234Е5 b) 5.2174Е-6 c) -7.5632Е8
5. Верно ли записаны имена переменных:
-
Am7_t
-
8hg
-
fR-56