Переменные: тип, имя, значение (9 класс). Введение

Целочисленные переменные способны хранить только не очень большие целые числа, которые располагаются в диапазоне от –32768 до +32767. Арифметические операции над подобными числами производятся очень быстро. Для обозначения подобного типа применяется символ «%».

Подобный тип впервые был применен в языке QuickBASIC. В этих переменных располагаются целые значения от –2 147 483 648 до +2 147 483 647. Обозначается символом «&». Арифметические действия над приведенными числами выполняются тоже очень быстро, и в случае работы с процессором 386DX или 486DX обнаруживается только небольшая разница в скорости вычислений между Long Integer и Integer.

Single Precision

Идентификатором для таких чисел является символ «!». Такой тип переменной дает возможность хранить дробные числа, точность которых до седьмой цифры. То есть если получается результат 12345678.97, то часть 8.97 не точна. Результат может иметь значение, к примеру, 12345670.01. Длина чисел может иметь 38 знаков. Произведения математических операций с данными переменными тоже будут приблизительными. Кроме того, арифметические действия производятся медленнее, чем с целочисленными переменными.

Double Precision

Переменные подобного типа дают возможность хранить числа с точностью до 16 цифр и длиной до 300 4б символов. Идентификатором служит «#». Вычисления с ними тоже приблизительны, а скорость их не очень большая. Чаще всего переменные типа Double Precision применяются для научных расчетов. Currency

Этого типа не существовало в версиях GW-BASIC и QuickBASIC. Его применяют для того, чтобы не допускать ошибок при преобразовании десятичных чисел в двоичную форму и наоборот. Такой тип может иметь до 4 цифр после запятой и до 14 – перед ней. Внутри этого диапазона вычисления являются точными. Идентификатор такой переменной – символ «@». Так как все арифметические операции, кроме сложения и вычитания, производятся так же медленно, как и в случае переменных с двойной точностью, такой тип более предпочтителен для проведения финансовых расчетов.

С помощью такого типа данных можно хранить значения времени и даты в промежутке от полуночи 1 января 100 года до полуночи 31 декабря 9999 года. Подобные значения в тексте программ обозначенысимволами «#», например: Millenium = #January 1, 2000#.

При введении только значения даты Visual Basic полагает, что время соответствует 00:00.


  • Типы переменных . Integer. Целочисленные переменные способны хранить только не очень большие целые числа, которые располагаются в диапазоне от –32768 до +32767.


  • Его применение вместо целочисленных переменных представляет собой хороший стиль программирования.
    Переменная типа variant способна содержать данные любого типа .


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


  • Объявление типов переменных при осуществлении обработки событий перед их использованием – естественно, с комментариями...


  • Visual Basic способен работать с 14 стандартными типами переменных . Также можно определить собственный тип данных.


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

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


Тип переменной Тип переменной определяется типом данных, которые могут быть значениями переменной. Значениями переменных числовых типов являются числа, логических – 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 в большинстве случаев не используется.

В языках 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, перечисленных в первой таблице.
    (Смотрим на столбец «Занимаемая память». Сколько написано байт – столько будет и ячеек памяти.)

В данных Методических указаниях излагаются основные понятия, операторы и конструкции языка программирования 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. Только от программиста зависит, какие имена будут у переменных.

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

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

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

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

Переменная

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

Переменная характеризуется:

  • Именем («обозначением ячейки памяти»)
  • Значением (данными, содержащимися в переменной в конкретный момент времени)
  • Типом (определяющим: а) какие значения может принимать переменная; б) какие операции можно производить с этими значениями; в) как данные представлены в памяти компьютера)

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

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

Простые типы

Дискретные (можно перечислить возможные значения):

  • целые (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.

Простейшая программа

Рассмотрим, как составить простую программу, выполняющую какие-либо вычисления. Для этого нам нужно:

  1. Проанализировав условие задачи, выделить исходные данные и результаты. Выбрать для них имена переменных (если они не заданы в условии). Определить тип данных.
  2. Построить математическую модель задачи - описание в виде набора математических соотношений.
  3. Разработать (или подобрать из известных) алгоритм решения задачи - последовательность действий, приводящую от исходных данных к результатам за конечное число шагов. (Не забудьте, что сначала компьютер должен получить значения исходных данных, а после нахождения результатов - вывести эти результаты на экран).
  4. Если в процессе решения используются промежуточные данные, выбрать имена переменных и определить их тип.
  5. Записать программу в соответствии с правилами синтаксиса языка программирования (в нашем случае - Pascal).

Рассмотрим простейший пример.

Задача

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

Решение

1) Определим исходные данные и результаты задачи. В данном случае они явно указаны в условии: исходная величина - радиус, результаты - длина окружности и площадь круга. Используем для них традиционные обозначения: R, L и S, соответственно. Все эти переменные могут принимать как целые, так и дробные числовые значения, поэтому следует использовать вещественный тип данных, например, Real.

2) Математически задача описывается известными формулами:

L = 2 ⋅ π ⋅ R
и
S = π ⋅ R 2 .

3) Алгоритм в данном случае предельно прост:

  1. Ввести значение радиуса.
  2. Вычислить длину окружности по формуле .
  3. Вычислить площадь круга по формуле .
  4. Вывести значения длины окружности и площади круга на экран.

4) При вычислениях нам (точнее, компьютеру) потребуется значение π. Вообще говоря, практически все реализации Pascal имеют встроенную константу PI , но мы объявим подобную константу самостоятельно.

5) Теперь запишем программу:

program circle; { Имя программы можно выбирать произвольно }
{ В фигурных скобках записываем