• Введение. Что такое переменная в программировании и чем она отличается от константы

    Переменные.

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

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


    Определение переменной.

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


    Тип переменной.

      Тип переменной определяется типом данных, которые могут быть значениями переменной. Значениями переменных числовых типов(Byte , Integer , Long , Single , Double ) являются числа, логических (Boolean ) – True /False , строковых(String )-последовательности символов и т.д. Обозначения типов переменных являются ключевыми словами языка и поэтому выделяются.


    Хранение различных типов данных в памяти компьютера.

    • Целые числа в интервале от 0 до 255 (Byte) - 1 байт

    • Вещественное число с двойной точностью(Double ) – 8 байт

    • Символьные строки(String ) – 1 байт на каждый символ.


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


    Имя переменной.

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

    • Числовую переменную можно назвать например, А или Число, а строковую А или Строка. Однако разработчик языка Visual Basic – фирма Microsoft – рекомендует для большей понятности текстов программ для программиста в имена переменных включать особую приставку , которая обозначает тип переменных. Тогда имена переменных целесообразно записывать как intA, или intЧисло, а строковых – strA и strCтрока.


    Объявление типа переменной.

    • Важно, чтобы не только разработчик программы(программист) понимал, переменные какого типа используются в программе, но чтобы это мог учесть и исполнитель программы(компьютер).

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


    Объявление типа переменной.

    • Для объявления типа переменной используется оператор определения переменной. Синтаксис этого оператора следующий:

    • Dim ИмяПеременной [ As ТипПеременной ]

    • C помощью одного оператора можно объявить сразу несколько переменных:

    • Dim intЧисло As Integer, strСтрока As String

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

    • Const ИмяКонстанты [ As Тип ]= ЗначениеКонстанты


    Арифметические, строковые и логические выражения. Присваивание.


    Арифметические выражения.

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

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


    Строковые выражения.

    • В состав строковых выражений могут входить переменные строкового типа, строки и строковые функции .

    • Строками являются любые последовательности символов, заключенные в кавычки. Например,

    • «информатика», «2000», «2*2»

    • Над переменными и строками может производится операция конкатенации. Операция конкатенации заключается в объединении строки и значения строковых переменных в единую строку. Операция конкатенации обозначается знаком «+», который не следует путать со знаком сложения чисел в арифметических выражениях.


    Логические выражения.

    • В состав логических выражений кроме логических переменных могут входить также числа, числовые и строковые переменные или выражения, которые сравниваются между собой с использованием операций сравнения (>,=,

    • Логическое выражение может принимать лишь два значения: «истина», «ложь», например,

    • 5>3 – истинно

    • 2*2=5 - ложно

    • Над элементами логических выражений могут производиться логические операции, которые на языке Visual Basic обозначаются следующим образом: логическое умножение – And, логическое сложение – Or, логическое отрицание –Not. При записи сложных логических выражений часто используются скобки. Например,

    • (5>3) And (2*2=5) – ложно

    • (5>3) Or (2*2=5) - истинно


    Присваивание переменным значений

    • Переменная может получить и изменить значение с помощью оператора присваивания. Синтаксис этого оператора следующий:

    • ИмяПеременной = Выражение

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


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


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


    Типы переменных Тип переменной Возможные значения Приставка к имени Byte Целые числа от 0 до 255 byt Integer Целые числа от до int Long Целые числа двойной длины lng Single Десятичные числа одинарной точности sng Double Десятичные числа двойной точности dbl Boolean Логические значения True или False bln String Строка символов str Currency Число в денежном формате cur Date Дата от 1 января 100 г. до 31 декабря 9999 г. dtm Object Ссылки на любой объект obj Variant Любые значения vnt


    Имя переменной Имя каждой переменной уникально и не может меняться в процессе выполнения программы. Имя переменной может состоять из различных символов (латинские и русские буквы, цифры и т.д.), но должно обязательно начинаться с буквы и не должно включать знак «. ». Количество символов в имени не может быть более 255. Для большей понятности текстов программ в именах переменных включают особую приставку, которая обозначает тип переменных. Например, целочисленные переменные – intA или intЧисло, а строковые – strB или strСтрока.


    Объявление типа переменной Для объявления типа переменной используется оператор определения переменной. Синтаксис этого оператора следующий: Dim ИмяПеременной С помощью одного оператора можно объявить сразу несколько переменных, например: Dim intЧисло As Integer, strСтрока As String Переменные, значения которых не меняются в процессе выполнения программы, называются константами. Синтаксис объявления констант следующий: Const ИмяКонстанты =ЗначениеКонстанты




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


    Строковые выражения В состав строковых выражений могут входить переменные строкового типа, строки и и строковые функции. Строками являются любые последовательности символов, заключенные в кавычки. Например, «информатика», «200», «2*3» Над переменными и строками может производиться операция конкатенации. Операция конкатенации заключается в объединении строки или значения строковых переменных в единую строку. Операция конкатенации обозначается знаком «+», который не следует путать со знаком сложения чисел в арифметических выражениях.


    =, =, >=, 4) And (" title="Логические выражения В состав логических выражений кроме логических переменных могут входить также числа, числовые или строковые переменные или выражения, которые сравниваются между собой с использованием операций сравнения (, =, >=, =, >=, 4) And (" class="link_thumb"> 10 Логические выражения В состав логических выражений кроме логических переменных могут входить также числа, числовые или строковые переменные или выражения, которые сравниваются между собой с использованием операций сравнения (, =, >=, =, >=, 4) And (2*3=4) – ложно; (6>4) Or (2*3=4) - истинно (6>4) Or (2*3=4) - истинно =, =, >=, 4) And ("> =, =, >=, 4) And (2*3=4) – ложно; (6>4) Or (2*3=4) - истинно (6>4) Or (2*3=4) - истинно"> =, =, >=, 4) And (" title="Логические выражения В состав логических выражений кроме логических переменных могут входить также числа, числовые или строковые переменные или выражения, которые сравниваются между собой с использованием операций сравнения (, =, >=, =, >=, 4) And ("> title="Логические выражения В состав логических выражений кроме логических переменных могут входить также числа, числовые или строковые переменные или выражения, которые сравниваются между собой с использованием операций сравнения (, =, >=, =, >=, 4) And (">


    Присваивание переменным значений Переменная может получить или изменить значение с помощью оператора присваивания. Синтаксис этого оператора следующий: Переменная может получить или изменить значение с помощью оператора присваивания. Синтаксис этого оператора следующий: ИмяПеременной = Выражение Ключевое слово Let в большинстве случаев не используется.

    В данных Методических указаниях излагаются основные понятия, операторы и конструкции языка программирования VisualBasic(VB). Во многом они повторяют элементы программирования языкаQBasic. Поэтому студенты, которые знакомы сQBasic, легко освоят или вспомнят изложенные элементы программирования.

    Методические указания предназначены, прежде всего, тем, кто совершенно не знаком с программированием. Однако нужно уметь работать в операционной системе Windows, знать основные принципы устройства и функционирования компьютера.

    Особое внимание уделено разъяснению важнейшего понятия программирования – переменной , затем –массивам , а такжеоператорам выбора, переключателям и операторам цикла .

    Одновременно с изучением элементов программирования необходимо изучать основные понятия объектно-ориентированного языка программирования VisualBasic:элементы управления, их свойства, события, методы. Знать основы разработки интерфейса форм, настраивать свойства элементов управления и задавать им значения программным путем.

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

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

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

    Основные элементы программирования

    Знакомство с основными элементами программирования VisualBasicначинается с понятия переменной. Кто уже знаком с этим понятием из системы программированияQBasic, легко обнаружит отличия, которые переменные имеют вVisualBasic.

    1. Переменные, оператор присваивания

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

    Определение переменной

    Вспомним элементарную алгебру и решим простую задачу.

    Задача . Вычислить функцию

    при значениях коэффициентов и аргумента:

    а = 3; b= - 4;c= 5; х = 2.

    Без всякого программирования мы подставим значения а. b,c,xв формулу

    Y= 3٠2 2 – 4٠2 + 5,

    произведем соответствующие арифметические действия и получим в результате Y= 9.

    При программировании этой задачи фрагмент программы будет выглядеть так:

    Y = a*x^2 + b*x + c

    Print “Y = “; Y

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

    Эти же вычисления можно запрограммировать, закодировать и так:

    Y = k1*x^2 + k2*x + k3

    Print “Y = “; Y

    Результат вычисления Yне изменится.

    Оба варианта программы практически повторяют постановку задачи. Однако это только по внешнему виду. Так, знаки равенства в программе – это не знаки «равно», а операторы присваивания . С помощью них коэффициентам присваиваются численные значения, записанные справа от знака присваивания. Умножение, возведение в степень закодированы с помощью специальных символов* и^ .

    Оператор Print выводит информацию на формы (или в графические поля). Все, что после оператораPrintзаписанов двойных кавычках, это текст .Он выводится без изменений , что записано, то и выводится.Если далее пишется переменная, то выводится ее значение . Поэтому на форме появится:Y= 9. В оператореPrintпосле текста стоит символ «точка с запятой» (;). Это разделитель. В этом случае значение переменной выводится сразу за текстом. Если же после текста поставить разделитель – запятую, то вывод значения переменной произойдет через 14 символов, считая от края формы.

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

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

    В языках программирования высокого уровня аналогом этих ячеек памяти является переменная. Отсюда следующее определение.

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

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

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

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

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

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

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

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

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

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

    В языках 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-ю.

    Контрольные вопросы:

    1. В чем состоит разница между типом, именем и значением переменной?
    2. Какие основные типы переменных используются в языке программирования Visual Basic 2005? Gambas? OpenOffice.org Basic?
    3. Почему рекомендуется объявлять переменные перед их использованием в программе?

    Задания:

    1. Определить количество ячеек оперативной памяти, необходимое для хранения значений переменных первых семи типов языка Visual Basic, перечисленных в первой таблице.
      (Смотрим на столбец «Занимаемая память». Сколько написано байт – столько будет и ячеек памяти.)

    На алгоритмическом языке 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. Почему рекомендуется объявлять переменные перед их использованием в программе?