Переменные: тип, имя, значение. Что такое переменная в программировании и чем она отличается от константы
В языках Visual Basic и Gambas и в языке OpenOffice.org Basic переменные используются для хранения и обработки данных в программах.
Переменные задаются именами , определяющими области оперативной памяти компьютера, в которых хранятся значения переменных. Значениями переменных могут быть данные различных типов (целые или вещественные числа, последовательности символов, логические значения и т. д.).
Переменная в программе представлена именем и служит для обращения к данным определенного типа, конкретное значение которых хранится в ячейке оперативной памяти.
Тип переменной.
Тип переменной определяется типом данных, которые могут быть значениями переменной. Значениями переменных числовых типов Byte, Short, Integer, Long, Single, Double являются числа, логического типа Boolean — значения «истина» (True) или «ложь» (False), строкового типа String — последовательности символов. Обозначения типов переменных являются ключевыми словами языка и поэтому выделяются.
Данные различных типов требуют для своего хранения в оперативной памяти компьютера различное количество ячеек (байтов).
Имя переменной.
Имена переменных определяют области оперативной памяти компьютера, в которых хранятся значения переменных. Имя каждой переменной (идентификатор) уникально и не может меняться в процессе выполнения программы. В рассматриваемых языках имя переменной может состоять из различных символов (латинские и русские буквы, цифры и т. д.), но должно обязательно начинаться с буквы и не должно включать знак точка «.». Количество символов в имени не может быть более 1023, однако для удобства обычно ограничиваются несколькими символами.
Объявление переменных.
Необходимо объявлять переменные, для того чтобы исполнитель программы (компьютер) «понимал», переменные какого типа используются в программе.
Для объявления переменной используется оператор объявления переменных Dim . С помощью одного оператора можно объявить сразу несколько переменных, например: Dim А As Byte, В As Short, С As Single, D As String, G As Boolean
Присваивание переменным значений.
Задать или изменить значение переменной можно с помощью оператора присваивания
. При выполнении оператора присваивания переменная, имя которой указано слева от знака равенства, получает значение, которое находится справа от знака равенства.
Например:
А = 255
B = — 32768
C = 3.14
D = «информатика»
G = True
Значение переменной может быть задано числом, строкой или логическим значением, а также может быть представлено с помощью арифметического, строкового или логического выражения.
Проанализируем процесс выполнения программы компьютером (для определенности записанной на языке Visual Basic). После запуска проекта оператор объявления переменных Dim отведет в оперативной памяти для их хранения необходимое количество ячеек:
- для целой неотрицательной переменной А одну ячейку;
- для целочисленной переменной B две ячейки;
- для переменной одинарной точности С четыре ячейки;
- для строковой переменной C по две ячейки на символ;
- для логической переменной G две ячейки.
Таким образом, в памяти для хранения значений переменных будет отведена 31 ячейка, например, ячейки с 1–й по 31-ю.
Контрольные вопросы:
- В чем состоит разница между типом, именем и значением переменной?
- Какие основные типы переменных используются в языке программирования Visual Basic 2005? Gambas? OpenOffice.org Basic?
- Почему рекомендуется объявлять переменные перед их использованием в программе?
Задания:
- Определить количество ячеек оперативной памяти, необходимое для хранения значений переменных первых семи типов языка Visual Basic, перечисленных в первой таблице.
(Смотрим на столбец «Занимаемая память». Сколько написано байт – столько будет и ячеек памяти.)
Переменные предназначены для хранения и обработки данных. Переменные задаются именами, определяющими области памяти, в которых хранятся значения переменных. Значениями переменных могут быть данные различных типов.
Используемые символы.
Прописные и строчные буквы латинского и русского алфавитов;
Цифры от 0 до 9;
Знаки: . , ; ‘(апостроф) “ ()
Символ пробела
Знаки арифметических операций: + - * / ^ < > = <=(меньше или равно) >= <>(не равно)
Знаки: @ (коммерческое “эт”, # (диез), $ (знак доллара), %, &(амперсанд или коммерческое “и”), \ (косая черта), _ (подчеркивание), ! , ?
Представление чисел.
Числа в VB представляют собой последовательность цифр со знаком + или -, например: +7, -18, 32. Если в числе имеется дробная часть, то она отделяется от целой части точкой. При этом, если целая часть равна нулю, то ее можно опустить, например: 0.5, -5.68, -.12. описанная форма записи чисел носит название основной.
Кроме основной, возможна запись чисел в экспоненциальной форме (в форме с порядком), например: число 0.0095 можно записать 9.5E-4 , число 52000000 можно записать 52E+6 или 52E6. Латинская буква E называется порядком, перед которым обязательно должно следовать число в основной форме.
Типы переменных.
Перед тем, как использовать переменную, ее необходимо описать при помощи оператора следующего вида:
Dim переменная
Dim – ключевое слово, свидетельствующее о том, что объявляется переменная
переменная – имя переменной, которая объявляется
As – служебное слово, используемое при обозначении типа данных для объявляемой переменной
тип – тип данных для указанной переменной
В одном операторе можно одновременно описать несколько переменных, указывая каждую последующую через запятую.
В языках программирования ключевыми (служебными) словами называются такие слова, которые используются только для описания операторов и не могут использоваться программистом в качестве имен переменных. Среда программирования VB6 настроена таким образом, что при написании текста программы в окне кода все используемые ключевые слова по умолчанию будут обозначаться синим цветом, в то время как весь остальной текст изображается черным. Таким образом, программист может легко определить являются ли слова, которые он планирует использовать, например, в качестве имен переменных, ключевыми словами VB6 или нет.
В VB6 каждый оператор пишется в отдельной строке. Количество пробелов и знаков табуляции между частями оператора не имеет значения. Справа от любого оператора можно записывать комментарии для него, поясняющие оператор. Перед началом комментария ставится апостроф ‘. В записи оператора строчные и прописные буквы равноценны, поэтому для повышения читаемости текста программы служебные слова обычно начинаются с прописной буквы, например: Dim n
Чтобы расположить несколько операторов в одной строке, между ними ставится символ: Например: a = 1: b = 3
В случае необходимости расположения одного оператора на нескольких строках следует в конце каждой строки ставить символ подчеркивания, отделяя его пробелом от последнего символа строки. Например:
And z<0 Then p=x+y+z
Когда программист выбирает имя для своей переменной, он имеет широкие возможности, например, переменную, которая будет использоваться в качестве счетчика циклов, можно назвать стандартным именем i, но это имя не несет никакой смысловой нагрузки. С другой стороны, можно назвать переменную длинным составным именем, например NumberOfSelectedElements (количество выбранных элементов), которое будет достаточно информированным, но на написание такого имени в различных местах программы будет уходить много времени, поэтому не следует давать переменным длинные имена.
Ограничения на имена переменных:
Имя должно начинаться только с латинской буквы;
В имени не должно быть точек;
Необходимо соблюдать уникальность имен в рамках одной процедуры;
Количество символов в имени не должно быть более 255.
Зачастую для повышения информативности используемых переменных программисты используют в именах так называемые префиксы, которые определяют принадлежность данных к определенному типу.
Префиксы типов данных в имени переменных
Переменная
Переменная - это именованная область памяти для хранения данных, которые могут изменяться в процессе исполнения программы.
Переменная характеризуется:
- Именем («обозначением ячейки памяти»)
- Значением (данными, содержащимися в переменной в конкретный момент времени)
- Типом (определяющим: а) какие значения может принимать переменная; б) какие операции можно производить с этими значениями; в) как данные представлены в памяти компьютера)
Имена и типы переменных указываются в разделе описаний и не могут изменяться в процессе выполнения программы.
Типы переменных
Простые типы
Дискретные (можно перечислить возможные значения):
- целые (integer, longint)
- символьный (char)
- логический (boolean)
- диапазон (часть значений стандартного дискретного типа, например, 1..100 )
- перечисляемый (явно перечислены все допустмые значения)
Вещественные (real, double, extended) - служат для представления действительных чисел с ограниченной точностью.
Структурированные типы
- Массив (фиксированное количество данных одного типа)
- Строка
- Запись (связанные данные, в общем случае, разных типов)
- Множество
- Файл (данные одного типа, хранящиеся на внешнем носителе)
Описание переменных
varимена переменных : тип ;
...
имена переменных : тип ;
Например:
Var
a, b, c: real;
i, n: integer;
f: boolean;
Ввод и вывод
Для обмена информацией между компьютером, исполняющим программу, и пользователем служат операторы ввода и вывода (точнее, операторы вызова процедур ввода и вывода).
Оператор ввода нужен, чтобы компьютер получил исходные данные. В программе на Pascal он записывается следующим образом:
Read(переменные );
Readln(переменные );
При выполнении оператора программа будет приостановлена, пока пользователь не наберет на клавиатуре значения и не нажмет клавишу «Enter». Затем введенные значения будут помещены в переменные, указанные как параметры процедуры ввода. Например, при выполнении оператора
Read(a, b);
компьютер будет ожидать ввода двух значений, которые затем будут помещены в переменные a и b.
Операторы read и readln отличаются тем, что во втором случае после ввода данных будет переведена строка, т.е. последующие сообщения компьютера будут выводиться с новой строки.
Оператор вывода нужен, чтобы компьютер показал результаты работы программы или какие-либо вспомогательные сообщения. В программе на Pascal он записывается следующим образом:
Write(выражения );
Writeln(выражения );
При выполнении оператора вычисляются значения выражений, после чего эти значения выводятся на экран монитора. Например, при выполнении оператора
Write(a + b, c);
на экран будет выведена сумма переменных a и b, а также значение переменной c. Если нужно вывести на экран какое-либо текстовое сообщение, его нужно заключить в апострофы (одиночные кавычки):
Write("Нет решения");
Операторы write и writeln отличаются тем, что во втором случае после вывода данных будет переведена строка, т.е. последующие сообщения компьютера будут выводиться с новой строки.
Присваивание
Для того чтобы переменная получила или изменила свое значение, используется оператор присваивания. В Pascal он записывается следующим образом:
переменная := выражение ;Тип переменной должен совпадать с типом выражения либо быть «более широким» совместимым (т.е. вещественной переменной можно присвоить значение целого выражения; строковой переменной можно присвоить значение символьного выражения).
Компьютер сначала вычисляет значение выражения в правой части оператора присваивания, затем помещает его в переменную, указанную слева от символа присваивания «:=».
Например, при выполнении оператора
X:= a + b;
переменная x получит значение суммы переменных a и b. При выполнении оператора
N:= n + 1
значение переменной n увеличится на единицу.
Запомните! При присваивании переменной нового значения старое будет потеряно безвозвратно. Например, после выполнения операторов a:= b;b:= a;
обе переменные будут иметь одинаковые значения, равные тому, которое имела переменная b.
Простейшая программа
Рассмотрим, как составить простую программу, выполняющую какие-либо вычисления. Для этого нам нужно:
- Проанализировав условие задачи, выделить исходные данные и результаты. Выбрать для них имена переменных (если они не заданы в условии). Определить тип данных.
- Построить математическую модель задачи - описание в виде набора математических соотношений.
- Разработать (или подобрать из известных) алгоритм решения задачи - последовательность действий, приводящую от исходных данных к результатам за конечное число шагов. (Не забудьте, что сначала компьютер должен получить значения исходных данных, а после нахождения результатов - вывести эти результаты на экран).
- Если в процессе решения используются промежуточные данные, выбрать имена переменных и определить их тип.
- Записать программу в соответствии с правилами синтаксиса языка программирования (в нашем случае - Pascal).
Рассмотрим простейший пример.
Задача
Разработать программу, вычисляющую длину окружности и площадь круга по известному радиусу.
Решение
1) Определим исходные данные и результаты задачи. В данном случае они явно указаны в условии: исходная величина - радиус, результаты - длина окружности и площадь круга. Используем для них традиционные обозначения: R, L и S, соответственно. Все эти переменные могут принимать как целые, так и дробные числовые значения, поэтому следует использовать вещественный тип данных, например, Real.
2) Математически задача описывается известными формулами:
L = 2 ⋅ π ⋅ R
и
S = π ⋅ R 2 .
3) Алгоритм в данном случае предельно прост:
- Ввести значение радиуса.
- Вычислить длину окружности по формуле .
- Вычислить площадь круга по формуле .
- Вывести значения длины окружности и площади круга на экран.
4) При вычислениях нам (точнее, компьютеру) потребуется значение π. Вообще говоря, практически все реализации Pascal имеют встроенную константу PI , но мы объявим подобную константу самостоятельно.
5) Теперь запишем программу:
program circle; { Имя программы можно выбирать произвольно }
{ В фигурных скобках записываем
На алгоритмическом языке LibreOffice Basic и OpenOffice Basic, а также на языках объектно-ориентированного программирования Visual Basic и Gambas переменные используются для хранения и обработки данных в программах.
Переменные задаются именами, которые определяют области оперативной памяти компьютера, в которых хранятся их значения. Значениями переменных могут быть данные различных типов (целые или вещественные числа, последовательности символов, логические значения и т.д.).
Переменная в программе представлена именем и служит для обращения к данным определенного типа, конкретное значение которых хранится в ячейках оперативной памяти.
Тип переменной. Тип переменных определяется типом данных, которые могут быть значениями переменных. Значениями переменных числовых типов Byte, Short, Integer, Long, Single, Double
являются числа, логического типа Boolean - значения истина True
или ложь False, строкового типа String - последовательности символов. Обозначения типов переменных являются ключевыми словами языка и поэтому выделяются.
Различные типы данных требуют для своего хранения в оперативной памяти компьютера различное количество ячеек (байт).
Типы переменных
Таблица 11.3
Занимаемая |
Диапазон значений |
|||
Целочисленные переменные |
||||
от -32 768 до 32 767 |
||||
от-2 147 483 648 до 2 147 483 647 |
||||
от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807 |
||||
Переменные с плавающей запятой |
||||
от -1,5x10 -45 до 3,4 x 10 38 , 7-8 значащих цифр |
||||
от-5,0 х 10- 324 до 1,7 х Ю 308 , 15-16 значащих цифр |
||||
от ±1,0 х 1 о- 28 до ±7,9 х 10 28 , 28-29 значащих цифр |
||||
Строковые переменные |
||||
количество символов |
от 0 до 65 535 знаков в кодировке Unicode. (В языке Gambas 1 байт на символ в кодировке ASCII) |
|||
Логические переменные |
||||
True или False. |
Имя переменной. Имена переменных определяют области оперативной памяти компьютера, в которых хранятся их значения. Имя каждой переменной (идентификатор) уникально и не может меняться в процессе выполнения программы. Имя переменной может состоять из различных символов (латинские и русские буквы, цифры и т.д.), но должно обязательно начинаться с буквы и не должно включать знак точка «.». Количество символов в имени не может быть более 1023, однако для удобства обычно ограничивается несколькими символами.
Объявление переменных. Необходимо объявлять переменные, для того чтобы исполнитель программы (компьютер) «понимал», переменные какого типа используются в программе.
Для объявления переменной используется оператор определения переменной Dim. С помощью одного оператора можно объявить сразу несколько переменных, например:
Dim A As Byte, В As Short, С As Single, D As String, G As Boolean.
Присваивание переменным значений. Переменная может получить или изменить значение с помощью оператора присваивания. При выполнении оператора присваивания переменная, имя которой указано слева от знака равенства, получает значение, которое находится справа от знака равенства. Например:
D = «информатика»
Значение переменной может быть задано числом, строкой или логическим значением, а также может быть представлено с помощью арифметического, строкового или логического выражения.
Проанализируем процесс выполнения программы компьютером (для определенности, записанной на языке Visual Basic). После запуска проекта оператор объявления переменных Dim отведет в оперативной памяти для их хранения необходимое количество ячеек:
- ? для целой неотрицательной переменной А - одну ячейку;
- ? для целочисленной переменной В - две ячейки;
- ? для переменной одинарной точности С - четыре ячейки;
- ? для строковой переменной D - по две ячейки на символ;
- ? для логической переменной G - две ячейки.
Таблица 11.4
Значения переменных в оперативной памяти
Имена переменных |
Оперативная память |
||
Номера ячеек |
Значение переменой |
||
информатика |
|||
Таким образом, в памяти для хранения значений переменных будет отведена 31 ячейка, например, ячейки с 1-й по 31-ю.
Контрольные вопросы
- 1. В чем состоит разница между типом, именем и значением переменной?
- 2. Какие основные типы переменных используются в языке программирования LibreOffice Basic, OpenOffice Basic? Visual Basic? Gambas?
- 3. Почему рекомендуется объявлять переменные перед их использованием в программе?
Цели урока:
- введение понятия “переменной”;
- добиться сознательного усвоения материала;
- развитие логики мышления;
- обретение навыков работы с переменными.
Тип урока: Объяснение нового материала.
Организационная форма урока: мини-лекция.
Выдается необходимый минимум теоретического материала (числовые и символьные переменные, формат команды присваивания значения).
ХОД УРОКА
Приветствие. Проверка готовности учащихся к уроку, организация внимания. На доске написана тема.
Подготовка учащихся к усвоению нового материала:
На предыдущих уроках мы познакомились с понятием алгоритма и тремя способами его описания. Теперь мы знаем, что описывать алгоритмы можно на естественном языке, на языке схем и на алгоритмическом языке. Но алгоритм, описанный на алгоритмическом языке – это уже программа. А чтобы грамотно писать программы нужно познакомиться с таким понятием как переменная.
Изучение нового материала:
Алгоритмический язык имеет сходство с математическим тем, что в нем также используется понятие величины. Используются в основном, величины двух типов – числовые и символьные, хотя не исключены и другие типы. Числовые величины – это числа: натуральные, целые, вещественные; символьные – буквы, цифры, слова, предложения. В информатике также используется понятие “переменная”. Запишем определение переменной.
Переменная – это объект, которому дано имя и который может принимать различные значения.
Переменные удобно представить в виде “почтовых ящиков” (ячеек памяти компьютера), на которые навешены ярлыки с их именами.
Информация, хранимая в переменной, называется ее значением .
Именем переменной может быть любая буква латинского алфавита.
Переменные, предназначенные для записи числа, называются числовыми . Переменные, в которые можно записывать слова называются символьными .
При этом под словом понимается любой набор символов, которые можно ввести с клавиатуры. Слово, которое помещается в “ящик”, предназначенный для хранения символьной переменной, заключается в кавычки.
Наш “почтовый ящик” имеет некоторые необычные свойства. Когда в него помещается другое значение, начальное стирается и исчезает. Оно уже не может быть восстановлено. Задать значение переменной можно с помощью команды присваивания , которая обозначается знаком “=”.
Например:
Задание 1:
Выполнить следующие операции
- A=13 B=3
- A=A+B
- X=A+B
- Y=A*B
- Печать X, Y
A | B | X | Y | |
13 | 3 | |||
A+B | 16 | |||
A+B | 19 | |||
A*B | 48 | |||
Печать | 19 | 48 |
Домашнее задание:
- проработать материал;
- выполнить задачу 1.
Задача 2:
Два круга заданы своими радиусами. Составить алгоритм, осуществляющий проверку этих кругов на равенство. Алгоритм описать на языке схем.
На последующих занятиях после проверки теоретических знаний и разработанного дома алгоритма решения задачи 1, учащимся предлагается выполнить аналогичную задачу.
Задача 3:
Два прямоугольника заданы своими сторонами. Составьте алгоритм, осуществляющий проверку этих прямоугольников на равенство.
Процесс выполнения задачи отображается на доске одним из учащихся. Особых проблем во время работы не возникает. В обсуждении построения алгоритма участвует вся группа. Однако затруднения появляются при решении следующих задач, где требуется более глубокое понимание переменной.
Задача 4:
Записать два числа в переменные A и B. Поменять местами содержимое A и B:
а) с использованием вспомогательной переменной С;
б) без использования дополнительной переменной.
По итогам решения этих задач легко определить, насколько усвоен изученный материал. Далее необходимо обратить внимание учащихся на основное свойство переменных – переопределение через себя . Свойство записывается в тетради.