Использование переменных для хранения информации
Оценка 4.9

Использование переменных для хранения информации

Оценка 4.9
Научно-исследовательская работа +4
docx
информатика
Взрослым
17.02.2017
Использование переменных для хранения информации
Тип данных в любом языке программирования, в том числе и в Visual Basic, определяет формат представления информации в памяти компьютера, а также допустимый диапазон значений и способ их обработки. Структура стандартных типов Visual Basic приведена на рис. 1. Различают числовые, символьные, логические и специальные типы. Каждые из этих групп типов дополнительно подразделяются на подгруппы: Числовые типы предназначены для хранения только числовой информации. Различают целые (без дробной части) и вещественные (с дробной частью) типы. Целые – представляют числа в двоичном формате в виде простой комбинации бит, эквивалентной ее значению. Вещественные – дополнительно делятся на числа с фиксированной и плавающей точкой.
Использование переменных для хранения информации.docx
Использование переменных для хранения информации. 2.1. Типы данных в Visual Basic Тип данных в любом языке программирования, в том числе и в Visual Basic, определяет  формат представления информации в памяти компьютера, а также допустимый диапазон  значений и способ их обработки. Структура стандартных типов Visual Basic приведена на  рис. 1. Различают числовые, символьные, логические и специальные типы. Каждые из этих  групп типов дополнительно подразделяются на подгруппы.     Рис. 2. Стандартные типы данных   Числовые типы предназначены для хранения только числовой информации. Различают  целые (без дробной части) и вещественные (с дробной частью) типы. Целые – представляют числа в двоичном формате в виде простой комбинации бит,  эквивалентной ее значению. Вещественные – дополнительно делятся на числа с фиксированной и плавающей  точкой. Тип с фиксированной точкой полностью аналогичен целым, но заранее  определенное количество знаков числа отводится под дробную часть. Тип с плавающей  точкой подразумевает, что разделитель целой и дробной части может занимать любое  положение. Числа в этом формате состоят из двух частей: мантисса и экспоненциальная  часть. Мантисса определяет значимые цифры числа и может занимать 7 (Single) или 15  (Double) знаков. Экспоненциальная часть определяет порядок числа. Общая форма записи  и соответствующий ей эквивалент следующий: → ­12  или  2.256Е2  1.125484Е­12   2,256 ∙ 10 2 →  1,125484 ∙ 10   Символьный тип служит для хранения текстовой информации. Значение представляется  как набор символов (строка), каждый из которых кодируется отдельным целым числом,  состоящим из 8 бит (кодировка ANSI). При этом разделяют динамические строки (без  определенного размера) и с фиксированным количеством символов, заранее определенным. Логический тип предназначен для построения условий и может принимать только два  значения: True и False. Существуют также ряд специальных типов, которые служат для работы со  специфическими данными, например время (Date) или формирование ссылок на другие  объекты (Object). Подробная информация обо всех стандартных типах в Visual Basic приведена в таблице 1.   Таблица 1 Стандартные типы данных в Visual Basic Тип Хранимая  информация Объем  памяти  (байт) Диапазон значений Суффи кс Значение  по  умолчани ю Byte Целые числа Integer Целые числа Long Целые числа 1 2 4 0 … 255 ­32768 … 32767 ­231 … 231­1 0 0 0 Нет % & Single Вещественные  числа Double Вещественные  числа двойной  точности Currenc y Числа: 15 цифр в  целой части и 4  цифры в  десятичной String Текстовая  информация 4 8 8 0 0 От ±3,402823Е38 до  ±1,401298Е­45 От  ±1,79769313486232Е 308 до ±4,94065645841247Е­ 324 ±922337203685477,58 07 0 ! # @ 1 накаж­ дыйсимво л До 65 тыс. символов  для строк  фиксированной  длины и до 2 млрд.  для динамических  строк «» $ (пустая  строка) Boolea n Date Object Variant Логический тип Информация о  дате и времени Ссылки на любой  объект Значения любого  из  вышеперечисленн ых типов 2 8 4 16+1 на  каждый  символ   True (Истина) False Нет или False (Ложь) От 1­го января 100  года до 31 декабря  9999 года 0 Нет Не определен Empty Нет Не определен Empty Нет Примечание Тип Variant – это тип, который сам определяет требуемый тип  данных. Переменной такого типа можно присваивать любые данные, что весьма полезно при создании сложных программ. Слово «String» напрямую описывает динамические строчки, а для определения строки фиксированной длины необходимо указать  ее длину в символах (Number): String * Number     2.2. Переменные Переменные – именованные элементы внутренней памяти компьютера, используемые для  временного хранения информации. В различные моменты времени она может хранить  разные значения. Перед использованием переменной ее необходимо создать (объявить). Переменная  объявляется двумя способами: явным и неявным. Явное объявление означает, что для определения переменной должен быть использован  оператор: Dim, Private, Static, Public. Например: Dim VarName As DataType ∙        Dim – ключевое слово оператора объявления переменных. ∙        VarName – имя переменной. ∙        DataType – тип объявляемой переменной.   Оператор, объявляющий переменную, сообщает Visual Basic о том, что будет храниться в  этой переменной и где эту переменную можно использовать. Часть программного кода, в  котором можно использовать переменную, называют областью видимости переменной. В большинстве программ, содержащих несколько форм или модулей программного кода,  требуются переменные, доступные в любой части кода. Они  называются глобальнымипеременными. Для создания подобной переменной необходимо  поместить оператор объявления переменной с ключевым словом «Public» в раздел  объявлений модуля. Переменные, объявленные в программе как «Public», во многом подобны свойством формы и видны из любой части программы. На них можно ссылаться, как на встроенные свойства  формы или элемента управления, а не как на обычные переменные. Например, если имеется переменная «strMyName», объявленная как «Public» в форме  «frmMain», получить доступ к ней можно с помощью выражения: strSomeString = frmMain.strMyName   Такие переменные­свойства применяются лишь для обмена информацией между формами  и другими частями программы. Ключевое слово «Private» используется в разделе объявлений формы или модуля для  создания переменной, видимой только в пределах модуля, в котором она создана. Такие  переменные называются переменными уровня формы или модуля. Иногда их также  называют частными переменными. Аналогичного результата можно добиться, если в разделе объявлений модуля объявить  переменную с помощью ключевого слова «Dim». Однако объявлять переменную с помощью этого ключевого слова можно в пределах необходимой процедуры (функции). Если  переменная объявлена таким образом, то она может быть использована только в пределах  этой процедуры (функции). Подобные переменные называются локальными. Таким образом, каждая процедура может иметь собственный набор локальных переменных. Даже в том случае, когда их имена совпадают, конфликт имен не наблюдается. Большинство переменных, созданных внутри процедуры, становятся ненужными после ее  завершения. Но бывают случаи, когда необходимо сохранить значение переменной для  использования при повторном вызове этой же процедуры. Такие переменные необходимо  объявить с помощью ключевого слова «Static». Оно сообщает, что область видимости  переменной ограничивается текущей процедурой, но переменная должна сохранять свое  значение.     Примечание Если ключевое слово «Static» используется в объявлении  самой процедуры, то все ее локальные переменные будут  рассматриваться как статические. Использование оператора при объявлении переменной необязательно – неявное  объявление. Поэтому всякий раз, когда вы допускаете опечатку в имени  переменной, Visual Basic всегда будет воспринимать это как объявление новой  переменной. Поэтому бывает очень полезно запрещать неявный способ объявления с  помощью оператора «Option Explicit», записав его в самом начале раздела объявлений  («General») любого программного модуля. Этот оператор будет работать только в его  пределах. Примечание Любая переменная, объявленная неявно, всегда будет иметь  тип Variantнезависимо от ее места положения.       2.3. Константы Применение переменных – это лишь один из способов хранения информации в памяти  компьютера. Другой способ – использование констант. После определения констант их  значения уже нельзя будет изменить в процессе выполнения программы. Они, как правило,  используются для хранения неизменных значений (физические, математические  постоянные или часто используемые строки). Visual Basic предлагает целый ряд стандартных констант (не нуждающихся в  предварительном объявлении) для определения цветовых наборов, типов доступа к  данным, кодов клавиш и др. Все эти константы имеют префикс «vb». Хотя Visual Basic имеет обширный ряд констант, рано или поздно возникнет  необходимость в собственных константах пользователя.  Они определяются с помощью оператора «Const»: Const ConstantName [As ConstantType] = Value ∙        Const – ключевое слово, сообщающее о создании константы. ∙        ConstantName – имя константы. ∙        ConstantType – тип константы (необязателен). ∙        Value – значение константы. Указание типа константы необязательно. При его отсутствии тип будет определен  самостоятельно в зависимости от характера присваиваемого ей значения. В рассмотренных выше примерах для объявления типа переменной или константы  использовалось ключевое слово «As». Существует и другой метод –  использование суффиксов типов данных. В этом случае тип указывается путем  добавления в конец имени переменной или константы специального символа,  определяющего ее тип (см. табл. 1). Например: Dim VarName# Примечание Не все типы имеют свой суффикс, что ограничивает этот  метод в применении.       2.4. Массивы Помимо отдельных ячеек памяти Visual Basic работает также с массивами. Массив – это набор переменных одного типа с одним и тем же именем. Каждая такая  ячейка памяти является элементом массива, и у каждой есть свой порядковый номер,  определяющий ее место. Первому элементу обычно присваивается номер 0. Объявить, или задать размер массива можно двумя способами: как при объявлении  переменной и используя ключевое слово «To». Чтобы объявить переменную как одну переменную, используют следующий синтаксис: Dim | Public | Private ArrayName(Subscript) As DataType ∙        Dim | Public | Private – ключевое слово Visual Basic, которое определяет область его  видимости (см. выше раздел «Переменные»). ∙        ArrayName – имя массива. ∙        Subscript – номер последнего элемента в массиве (например, если это число 6, то в  массиве будет семь элементов; помните, что номера элементов в массиве начинаются с  нуля). ∙        As – ключевое слово Visual Basic, которое предваряет объявление типа. ∙        DataType – любой допустимый в Visual Basic тип данных, например «Integer» или  «Double».     Примечание При объявлении массива первым будет следовать элемент с  индексом нуль. Но можно сделать так, что при объявлении  массива первый его элемент получит индекс 1. Для этого  поместите в раздел «General» любого модуля вашего проекта  оператор «Option Base 1». При этом элементы всех массивов  будут нумероваться с единицы. Следовательно, объявление массива из пяти элементов типа «Integer» должно выглядеть  так: Dim MyArray(4) As Integer   Чтобы присвоить каждому элементу этого массива некоторое значение, воспользуйтесь  следующими операторами: MyArray(0) =  9 MyArray(l) = 342 MyArray(2) = 2746 MyArray(3) = 0 MyArray(4) = 8901   При объявлении массива можно описать диапазон индексов с помощью ключевого  слова To. Например, чтобы создать массив из пяти элементов типа «Integer», в котором  значение индекса должно изменяться от 1 до 5, используйте такой оператор: Dim MyArray (1 To 5) As Integer Это самый простой способ начать нумерацию элементов массива с нужного вам значения,  отличного от нуля. Хотя обычно число элементов в массиве определяется при его объявлении, иногда  необходимо изменить размеры массива во время выполнения программы. Изменение числа  элементов в массиве называется переопределением размеров массива. Для изменения  числа элементов уже существующего массива используют ключевое слово «ReDim» и  следующий синтаксис: ReDim [Preserve] ArrayName(Subscript) [As DataType] ∙        ReDim — ключевое слово Visual Basic, означающее изменение размеров массива. ∙        Preserve — необязательное ключевое слово Visual Basic, указывающее на  необходимость сохранения прежних значений элементов массива. Если при  переопределении размеров массива это ключевое слово не использовать, значения всех  элементов будут равны: нулю — для числовых типов данных, пустой строке — для  строкового типа и «Empty» — для типа Variant. ∙        ArrayName — имя массива. ∙        Subscript — индекс последнего элемента в массиве. ∙        As — ключевое слово Visual Basic, предваряющее объявление типа данных. ∙        DataTуре — любой допустимый в Visual Basic тип данных. При переопределении  размера массива этот параметр необязателен, т.к. изменить тип невозможно. Тип массива  можно переопределить ключевым словом «ReDim» только в том случае, если массив имеет тип «Variant».     Примечание Создавая массив, размер которого в дальнейшем будет  изменяться, нельзя жестко задавать размер массива при его  первом объявлении. Оператор «ReDim» можно применять только к так называемым динамическиммассивам. Чтобы создать массив, размер которого в дальнейшем будет переопределяться, сначала  необходимо создать массив без элементов: ' Создаем массив без элементов Dim strMyArray() as String ' Определяем начальную размерность массива (5 элементов) ReDim strMyArray(1 To 5) ' Присваиваем значения элементам массива strMyArray(0) = "I am a pitcher." strMyArray(1) = "I am a catcher." strMyArray(2) = "I play first base." strMyArray(3) = "I play second base." strMyArray(4) = "I play third base." strMyArray(5) = "I play shortstop." 'Добавляем элемент таким образом, чтобы сохранить ' значения элементов, определенных ранее ReDim Preserve strMyArray(1 To 6) 'Присваиваем значение новому элементу массива strMyArray(6) = "I am the designated hitter"   Помимо вышесказанного, динамические массивы обладают рядом дополнительных  особенностей. Для них существует понятие пустого значения (Empty). Такая ячейка не  занимает места в памяти компьютера, что позволяет использовать память более  экономично. Массивы, объявленные с уже конкретным количеством ячеек, называются статическими.  Под них сразу резервируется необходимое количество памяти ОЗУ, определяемое его  типом и количеством ячеек. До сих пор обсуждались лишь одномерные массивы. Однако в Visual Basic можно  создавать и многомерные массивы, число размерностей которых ограничено 60. Двухмерный массив называют также матрицей. Каждая из ячеек имеет свой код, который  представляет собой пару чисел, номер столбца и номер строки, которые однозначно определяют местоположение ячейки в сетке. Обратите внимание, что каждый элемент  определен номерами столбца и строки, например: iVar(2,3) = 49 Оператор объявления двухмерного массива имеет следующий синтаксис: Dim | Public | Private MyArray(NumOfCols, NumOfRows) As DataType   Независимо от размерности массивов работа с ними осуществляется аналогично  вышеприведенной для одномерных объектов.     Примечание Для переопределения размера многомерного массива можно  также использовать оператор «ReDim». Однако можно изменять  только лишь последнее измерение многомерного массива, а  число измерений изменить нельзя. Для изменения размерности многомерного массива необходимо его  сначала реинициализировать (уничтожить) с помощью следующего оператора: Erase Arraylist ∙        Arraylist – реинициализуемые массивы, разделенные запятой.   Контрольные вопросы для самопроверки 1. Что такое тип данных? Что он определяет? 2. Какие стандартные типы данных вы знаете? Каковы их особенности? 3. Что такое переменная и константа? Порядок их определения. 4. Какие способы объявления переменных вы знаете? 5. Поясните понятие «Empty». Когда переменная будет иметь это значение? 6. Какого назначение оператора «Option Explicit»? 7. Что такое «видимость переменных», какие переменные бывают? 8. Что такое массив? Их виды и особенности. 9. Как задать размерность массива? 10.Что понимается под переопределением массива? 11.Что понимается под реинициализацией массива? Переменные 1. Переменная 1. Аналогия из жизни 2. Копирование значений 2. Важность директивы       var 3. Константы В зависимости от того, для чего вы делаете скрипт, понадобится работать с информацией. Если это электронный магазин ­ то это товары, корзина. Если чат ­ посетители, сообщения  и так далее. Чтобы хранить информацию, используются переменные. Переменная Переменная состоит из имени и выделенной области памяти, которая ему  соответствует. Для объявления или, другими словами, создания переменной используется ключевое  слово var: var message; После объявления, можно записать в переменную данные: var message; message  = 'Привет'; // сохраним в  переменной  строку Эти данные будут сохранены в соответствующей области памяти и в дальнейшем доступны при обращении по имени:         1 2 3 4 var message; message  = 'Привет';   alert(message); / / выведет  содержимое  переменной Для краткости можно совместить объявление переменной и запись данных: var message = 'Привет'; Аналогия из жизни Проще всего понять переменную, если представить ее как «коробку» для данных, с  уникальным именем. Например, переменная message ­ это коробка, в которой хранится значение "Привет": В коробку можно положить любое значение, а позже ­ поменять его. Значение в переменной можно изменять сколько угодно раз:         1 2 var message; 3 4 5 6 7 message  = 'Привет';   message  = 'Мир';    // заменили  значение   alert(message); При изменении значения старое содержимое переменной удаляется. Существуют функциональные языки программирования, в которых значение переменной  менять нельзя. В таких языках положил один раз значение в коробку ­ и оно хранится там вечно, ни  удалить ни изменить. А нужно что­то другое сохранить ­ изволь создать новую коробку  (объявить новую переменную), повторное использование невозможно. С виду ­ не очень удобно, но, как ни странно, и на таких языках вполне можно успешно  программировать. Изучение какого­нибудь функционального языка рекомендуется для  расширения кругозора. Отличный кандидат для этого — язык Erlang  . Копирование значений Переменные в JavaScript могут хранить не только строки, но и другие данные, например,  числа. Объявим две переменные, положим в одну ­ строку, а в другую ­ число. Как вы можете видеть, переменной без разницы, что хранить: var num = 100500; var message = 'Привет'; Значение можно копировать из одной переменной в другую. 1 2 3 4 var num =  100500; var message = 'Привет';   message = num; Значение из num перезаписывает текущее в message. В «коробке» message меняется значение: После этого присваивания в обеих коробках num и message находится одно и то же  значение 100500. Важность директивы       var В JavaScript вы можете создать переменную и без var, достаточно просто присвоить ей  значение: x  = "value"; // переменная создана,  если ее не было Технически, это не вызовет ошибки, но делать так все­таки не стоит. Всегда определяйте переменные через var. Это хороший тон в программировании и  помогает избежать ошибок. Откройте пример в IE в новом окне: 01 02 03 04 05 06 07 08 09 10 11 12 13 14              Открыть код в новом окне Значение не выведется, будет ошибка. Если в IE включена отладка или открыта панель  разработки ­ вы увидите ее. Дело в том, что почти все современные браузеры создают переменные для элементов, у  которых естьid. Переменная test в них в любом случае существует, запустите, к примеру: 1 2 3 4 5   ..Но в IE<9 такую переменную изменять нельзя. Всё будет хорошо, если объявить test, используя var: Правильный код:         01 02 03 04 05 06 07 08 09 10 11           Самое «забавное» — то, что, эта ошибка будет только в IE<9, и только если на странице  присутствует элемент с совпадающим id. Такие ошибки особенно весело исправлять и отлаживать. Есть и еще ситуации, когда отсутствие var может привести к ошибкам. Надеюсь, вы  убедились в необходимости всегда ставить var. Важность: 2 1. Объявите две переменные: admin и name. 2. Запишите в name строку "Василий". 3. Скопируйте значение из name в admin. 4. Выведите admin (должно вывести «Василий»). Решение [Открыть задачу в новом окне] Константы Константа — это переменная, которая никогда не меняется. Как правило, их называют  большими буквами, через подчёркивание. Например:         1 2 3 4 5 6 var COLOR_RED = "#F00"; var COLOR_GREEN = "#0F0"; var COLOR_BLUE = "#00F"; var COLOR_ORANGE = "#FF7F00";   alert(COLOR_RED); // #F00 Технически, константа является обычной переменной, то есть её можно изменить. Но мы  договариваемся этого не делать. Зачем нужны константы? Почему бы просто не использовать "#F00" или "#0F0"? 1. Во­первых, константа — это понятное имя, в отличие от строки "#FF7F00". 2. Во­вторых, опечатка в строке может быть не замечена, а в имени константы её  упустить невозможно — будет ошибка при выполнении. Константы используют вместо строк и цифр, чтобы сделать программу понятнее и  избежать ошибок. Представление слов, чисел и значений с помощью переменных Visual Studio 2008 Обновлен: Ноябрь 2007 Переменные являются важными понятиями в компьютерном программировании.  Переменная представляет собой букву или имя, которое может хранить значение. При  создании программ для компьютера переменные можно использовать для хранения чисел,  например высоты здания, или слов, например имени пользователя. Проще говоря,  переменные используются для представления любого рода сведений, необходимых  программе. Может возникнуть вопрос — зачем же использовать переменные, если можно сразу  использовать сами данные? Как говорит само название "переменные", представляемые ими  значения могут изменяться во время выполнения программы. Например, можно написать  программу для отслеживания числа леденцов в банке на столе. Поскольку сладости  предназначены для того, чтобы их ели, число леденцов в банке, вероятно, будет со  временем изменяться. Вместо того, чтобы переписывать программу каждый раз после того, как захочется сладкого, можно представить число леденцов в виде переменной, которая  будет изменяться со временем. Хранение информации в переменных Для использования переменной необходимо выполнить три действия: 1. Объявить переменную. Сообщить программе имя и тип переменной, которую  требуется использовать. 2. Присвоить переменной значение. Передать переменной значение для хранения. 3. Непосредственно использовать переменную. Извлечь значение, содержащееся в  переменной, и использовать его в программе. Объявление переменных При объявлении переменной необходимо решить, как она будет называться, и какой тип  данных будет ей присвоен. Имя переменной может быть любым, но оно должно начинаться  с буквы или знака подчеркивания. Если используется имя, описывающее содержащееся в  переменной значение, то код будет легче читать. Например, переменная, позволяющая  отслеживать число леденцов в банке, может называться totalCandy. Объявите переменную, при помощи ключевых словDim и As, как это показано ниже. VB Dim aNumber As Integer Эта строка кода сообщает программе, что требуется использовать переменную с  именем aNumber, и что она должна хранить целые числа (тип данныхInteger). Поскольку aNumber является переменной типа Integer, она может хранить только целые  числа. Если бы нужно было хранить, например, число 42.5, то использовался бы тип  данных Double. А для хранения слов используется тип данных с именем String. Еще одним типом данных, который следует упомянуть здесь, является тип Boolean, который может  хранить значения True или False. Ниже приведены дополнительные примеры объявления переменных. VB Dim aDouble As Double Dim aName As String Dim YesOrNo As Boolean Примечание. Локальную переменную можно создать без объявления ее типа с помощью вывода локального типа. При  использовании вывода локального типа тип переменной определяется значением, которое ей присвоено. Дополнительные сведения см. в разделе Вывод локального типа. Дополнительные сведения о других типах переменных содержатся в разделе Подробное  рассмотрение. Типы данных. Присваивание переменным значений Значение переменной присваивается при помощи знака =, иногда называемого оператором присваивания, как показано в следующем примере. VB aNumber = 42 Эта строка кода берет значение 42 и сохраняет его в ранее объявленной переменной с  именем aNumber. Объявление и присваивание значений для переменных со значениями по умолчанию Как показано выше, можно объявить переменную в одной строке кода и присвоить ей  значение позже, в другой строке. Это может вызвать ошибку при попытке использовать  переменную до присвоения ей значения. По этой причине рекомендуется объявлять переменные и присваивать им значения в одной  и той же строке. Даже если будущее значение переменной пока не известно, ей можно  присвоить значение по умолчанию. В этом случае код для объявления и присвоения  значений тем же самым переменным будет выглядеть так, как показано ниже. VB Dim aDouble As Double = 0 Dim aName As String = "default string" Dim YesOrNo As Boolean = True Объявление переменных и присвоение им значений по умолчанию в одной строке поможет  предотвратить возможные ошибки. При этом далее в коде по­прежнему можно присваивать переменным другие значения. Практическое задание В этом упражнении будет написана короткая программа, которая создает четыре  переменные, присваивает им значения, а затем отображает каждое значение в окне,  называемом окном сообщения. Давайте начнем с создания проекта, в котором будет  храниться код. Создание проекта 1. Откройте Visual Basic из меню Windows Пуск, если он еще не открыт. 2. В меню Файл выберите Создать проект. 3. В диалоговом окне Создать проект в области Шаблоны щелкните  элемент Приложение Windows. 4. В поле Имя введите Variables и нажмите кнопку ОК. Visual Basic создаст файлы для программы и откроет Конструктор формы. Далее необходимо создать переменные. Для создания переменных и отображения их значений 1. Дважды щелкните форму, чтобы открыть редактор кода. Редактор кода откроется на разделе кода с именем Form1_Load. Этот раздел кода является обработчиком событий, который также называютпроцедурой. Код, который записан в этой  процедуре, содержит инструкции, которые будут выполнены при первой загрузке формы в  память. 2. В процедуру Form1_Load добавьте следующий код: VB Dim anInteger As Integer = 42 Dim aSingle As Single = 39.345677653 Dim aString As String = "I like candy" Dim aBoolean As Boolean = True Этот код объявляет четыре переменные и присваивает им значения по умолчанию. Эти  четыре переменные являются переменными типов Integer,Single, String и Boolean. Совет. При написании кода можно заметить, что после введения слова As под курсором отобразился список слов. Эта  возможность называется IntelliSense. Она позволяет писать слово, вводя всего лишь несколько его первых букв,  пока оно не будет выделено в списке. Как только слово выделено, можно нажать клавишу его в коде. Примечание. При каждой записи фактического текста в программе необходимо заключать его в кавычки (" "). Эта инструкция  сообщает программе, что текст нужно интерпретировать именно как фактический текст, а не как имя  переменной. При присвоении переменной типа Boolean значения True илиFalse не нужно заключать эти слова в  кавычки, потому что True и False являются ключевыми словами Visual Basic, имеющими специальное значение. 3. После кода, написанного на предыдущем этапе, введите следующий код. VB MsgBox(anInteger) MsgBox(aSingle) MsgBox(aString) MsgBox(aBoolean) Этот код нужен для отображения каждого из значений, которые были присвоены на  предыдущем шаге, в новом окне с помощью функцииMsgBox. 4. Нажмите клавишу F5 для запуска приложения. Нажмите кнопку OK в каждом окне сообщения при их появлении. Обратите внимание, что  значение каждой переменной отображается по очереди. Можно закрыть форму, нажав  кнопку со знаком x в правом верхнем углу формы. После завершения программы можно  вернуться назад и изменить значения, которые присваиваются переменным в коде — вы  увидите, что при следующем запуске программы отобража Программа  курса   5. Константы и переменные на языке Visual Basic. Линейный  алгоритм. Отладка кода Строковые переменные. Строковые выражения и функции      Строковые переменные. Строковые (символьные) переменные предназначены для  хранения и обработки в программах последовательностей символов. Строковые  переменные задаются именами, определяющими области памяти, в которых хранятся их  значения (последовательности символов). Для хранения строковых переменных требуется  одна ячейка на каждый символ.           Имя строковой переменной может состоять из различных символов (латинские и  русские буквы, цифры и т. д.), но должно обязательно начинаться с буквы и не включать  знак «.» (точка) (например, А или Строка). Рекомендуется для ясности текстов программ  включать в имена переменных особую приставку, которая обозначает тип переменных —  для строковых переменных приставку str (например, strA           И StrCTpOKd).           Простейший способ задания типа переменной (ее объявления) состоит в приписывании к имени переменной определенного суффикса. Для строковой переменной это суффикс $  (например, А$, Строка$).           Чтобы объявить в программе на языке Visual Basic строковую переменную, можно  воспользоваться оператором определения переменной. Например:           Dim strA, strCTpOKa As String           Строковые выражения. В состав строковых выражений могут входить кроме строковых  переменных также и строки. Строками являются любые последовательности символов,  заключенные в кавычки. Например: "информатика", "2000", "2*2"           Над переменными и строками может производиться операция конкатенации, которая  состоит в объединении строки или значения строковых переменных в единую строку.  Операция конкатенации обозначается знаком «+», который не следует путать со знаком  сложения чисел в арифметических выражениях.           Пусть, например, строковое выражение будет включать в себя строку "ин", строковую  переменную strA, значением которой является строка "форма", и строку "тика":           "ин" + strA + "тика"           Тогда значением этого строкового выражения будет:           "информатика"           Строковые функции. В строковых функциях строками являются либо аргументы, либо  возвращаемые функциями значения.           Функция определения длины строки. В функции определения длины строки  Len(Строка$) аргумент — строка Строка$, а возвращает функция числовое значение длины строки (количество символов в строке).           Пусть аргумент функции Len — строка «информатика», тогда значением целочисленной переменной 1пОДлинаСтроки = Len ("информатика") будет число 11.           Функции вырезания подстроки. В функциях вырезания подстроки (части строки)           Left (Строка$, Длина%), Right (Строка$, Длина%) Mid (Строка$, Позиция%, Длина%)           аргументами служат строка Строка $ и числа или целочисленные переменные Длина% и  Позиция%. Функции возвращают строковое значение, равное вырезанной подстроке.           Значением функции Left выступает левая подстрока, которая начинается от крайнего  левого символа строки и имеет количество символов, равное значению числового  аргумента Длина%. Пусть аргумент функции Left — строка "информатика", тогда значением строковой  переменной strЛеваяПодстрока = Left ("информатика", 2) будет строка "ин".           Значением функции Right является правая подстрока, которая начинается от крайнего  правого символа строки и содержит количество символов, равное значению числового  аргумента Длина%.           Пусть аргумент функции Right — строка "информатика", тогда значением строковой  переменной strПраваяПодстрока = Right ("информатика", 4) будет строка "тика".           Значение функции Mid — это подстрока, которая начинается от позиции символа,  заданной числовым аргументом Позиция % и длиной, равной значению числового  аргумента Длина%.           Если аргументом функции Mid является строка "информатика", то значение строковой  переменной strПодстрока = Mid ("информатика", 3, 5) — строка "форма".            Строковые операции      До сих пор мы с вами рассматривали программы, реализующие алгоритмы обработки  числовых данных. Однако хоть ЭВМ изначально и были созданы только для этой цели, по  мере развития аппаратной части появилась возможность оцифровывать данные других  типов, хранить их в памяти машины, перерабатывать, выводить во внешний по отношению к  компьютеру мир. Проще всего можно было так поступить с текстовой информацией. Если  не ставить перед машиной задачу "понимания" смысла текста, то задача оцифровки  сводится к установлению правил замены символов (литер) при вводе в компьютер на их  коды и обратной замены при выводе информации на экран или принтер. Такие правила,  конечно же, были составлены. Как водится, сначала их было множество (вспомните  разнообразие таблиц кодировки), затем весь мир остановился на ASCII.      Все языки программирования высокого уровня имеют средства работы с литерными  величинами. Паскаль ­ не исключение. Как вам уже известно, в стандарте языка описаны  два типа переменных для литерных величин. Это ­ String и Char. Напомню ­ переменная  типа Char может содержать в себе только один единственный символ, тип String  предназначен для хранения строковых величин до 255 символов длиною. Кстати, вы знаете  не все о типе String. При описании переменной этого типа вы можете сами указать максимальное число символов, которое можно занести в нее. Конечно же, это число не  должно превышать 255. Делается это так: Var S : String[30];        Для чего это нужно?      Дело в том, что при компиляции для каждой переменной отводится свой участок  памяти. Если мы будем выделять для всех переменных типа String по 256 байт, то это  приведет к тому, что при использовании достаточно большого их количества, памяти может и не хватить? Но если в переменной мы собираемся хранить, например, фамилию  пользователя, то тридцати символов (тридцати байт) для этого вполне достаточно. Таким  образом, экономится память и увеличивается быстродействие программ.      Переменным строкового типа можно присваивать строковые величины (внутри  программы они заключаются в апострофы), значения выражений, которые приводят к  строковым величинам. Значения можно также вводить с клавиатуры. При этом апострофы  не используются. Как вам известно, в числовую переменную нельзя ввести строковую  величину. Сделать наоборот ­ возможно, однако число, находящееся в строковой  переменной представляет собой просто последовательность символов (цифр), поэтому в  арифметических выражениях участвовать не может.      Также, новым для вас явится то, что при использовании строковой переменной, к  каждому ее символу можно обратиться отдельно. Необходимо только знать номер нужного  символа от начала строки. Его достаточно поставить после имени переменной типа String в квадратных скобках.      Пример: S[5] ­ пятый символ строки S.      С отдельным символом строки можно производить все действия, которые можно  производить с любой символьной переменной (ввод, присвоение, вывод на экран, участие в  выражениях и т.д.).      Обратите внимание на то, что нумерация символов в строке начинается с единицы.  Внутри квадратных скобок вместо числа может находиться выражение, результатом  которого является целое число. Главное чтобы символ с таким номером в строке  существовал. Но как же узнать, сколько символов в данный момент находится в строковой  переменной? Для этого существует специальная функция, которая возвращает длину строковой переменной в символах. Это функция Length. Ее формат: Length(S)      Здесь S ­ либо строковая величина, либо строковая переменная.      Приведенная далее программа выводит на экран длину введенной пользователем  строковой величины. Program Str1; Var S : String; Begin Writeln('Введите последовательность символов'); Readln(S); Writeln('Вы ввели строку из ',Length(S), ' символов') End.      Другой пример: Решим задачу: "Введенную строку вывести на экран по одному символу в строке экрана". Program Str2; Var S : String; I : Byte; Begin Writeln('Введите строку'); Readln(S); For I:=1 to Length(S) do {организуем цикл, начиная с первого символа} Writeln(S[I])                   {строки, до последнего (номер последнего} {совпадает с количеством символов строки S) } End.      Какие же еще действия можно выполнять с переменными строкового типа?      Две строковые величины можно состыковывать. Эта операция называется конкатенацией и обозначается знаком "+".      Например, результатом выполнения следующих команд: R:= 'kadabra';    H:= 'abra';    S:=H+R; в переменной S будет значение 'abrakadabra'.      Для конкатенации результат зависит от порядка операндов (в отличие от операции  сложения). Следует помнить о том, какой максимальной длины может быть  результирующая переменная, так как в случае превышения значением выражения числа,  указанного после String в описании переменной, "лишние" символы в переменную не  попадут.      Строковые величины можно сравнивать между собой. Это относится также и к  строковым переменным. Но как же компьютер определяет, какая строка больше: та, которая длиннее? та, которая содержит больше заглавных букв?        На самом деле такая проверка проходит довольно сложно: компьютер сравнивает  сначала первые символы строк. Большим из двух считается тот, код которого больше  (вспомните, что такое код символа). Если равны первые символы, то так же анализируется  следующая пара до тех пор, пока не будет найдено различие. Если начало строк совпадает,  а одна из них кончается раньше, то вторая автоматически называется большей.      Код символа в Паскале можно определить при помощи функции Ord.      Ее формат: Ord(C), где С ­ либо непосредственно указанный символ, либо переменная  символьного типа, либо один символ строковой переменной. Вообще, функция Ord имеет  более глубокий смысл, но об этом ­ позже. Есть и обратная функция, которая возвращает  символ по известному коду. Это функция Chr(N), где N ­ выражение, приводящее к целому  числу в интервале от 0 до 255 (возможные значения кода символа). Очевидно, что  Chr(Ord(C))=C, Ord(Chr(N))=N.      Следующая маленькая программа выводит на экран кодовую таблицу: Program Str3; Var     I : Byte; Begin For I:=32 to 255 do Write('VV',I:4, '­',Chr(I)) End.        Цикл в программе начинается с 32 потому, что символы с кодами от 0 до 31 являются  управляющими и не имеют соответствующего графического представления.      Задача: "Определить, является ли введенная строка "перевертышем". Перевертышем  называется такая строка, которая одинаково читается с начала и с конца. Например, "казак" и "потоп" ­ перевертыши, "канат" ­ не перевертыш".      Поступим следующим образом: из введенной строки сформируем другую строку из  символов первой, записанных в обратном порядке, затем сравним первую строку со второй; если они окажутся равны, то ответ положительный, иначе ­ отрицательный. Естественно,  предложенный способ решения не является единственно возможным. Program Str4; Var      S,B : String;      I : Byte; Begin Writeln('Введите строку'); Readln(S); B:='';              {Переменной B присваиваем значение "пустая строка"} For I:=1 to Length(S) do B:=S[I]+B;     {Конкатенация. Символы строки S пристыковываются к} {переменной B слева. Самым левым окажется последний.} If B=S Then Writeln('Перевертыш') Else Writeln('Не перевертыш') End.      Число, записанное в строковую переменную, естественно числом не является, но очень  часто требуется его все же использовать в качестве числа. Для этого нужно произвести  преобразование типа. Перевод строкового представления числа в числовое выполняет в  Паскале оператор Val. Его формат: Val(S,X,C); Здесь S ­ строка, содержащая число, X ­ числовая переменная, в которую будет помещен результат, С ­ переменная целочисленного типа, в которую помещается первого  встреченного в S отличного от цифры символа. Если после выполнения оператора Val  переменная С имеет значение 0, то это означает, что преобразование типа прошло  совершенно успешно и в строке нецифровых символов не встретилось.      Противоположное действие осуществляет оператор Str. Формат оператора:    Str(X,S); X ­ число (либо арифметическое выражение), S ­ строковая переменная.      В переменную S попадает строковое представление числа X. Это нужно, например, при  необходимости выводить на экран числа в графическом режиме (будет изучено позже), так  как стандартные процедуры вывода на экран там работают только со строковыми  величинами.      Для иллюстрации рассмотрим такую задачу: "Найти сумму цифр введенного  натурального числа". Используя только числовые переменные, решить ее можно, но  предлагаемое здесь решение, по­моему, проще. Program Str5; Var S : String; I,X,A,C : Integer; Begin Writeln('Введите натуральное число'); Readln(S); {Число вводится в строковую переменную} A:=0; For I:=1 To Length(S) Do Begin Val(S[I],X,C); {Цифровой символ превращается в число} A:=A+X {Цифры суммируются} End; Writeln('Сумма цифр равна ',A) End. Теперь рассмотрим еще несколько действий над строками: оператор DELETE(S,I,C) из строковой переменной S удаляет C символов, начиная с I­ того; оператор INSERT(SN,S,I) вставляет подстроку SN в строковую переменную S перед  символом с номером I; функция COPY(S,I,C) возвращает подстроку строки S из C символов, начиная с символа  с номером I; функция Pos(SN,S) возвращает номер символа, с которого в строке S начинается  подстрока SN (позицию первого вхождения подстроки в строку). Если такой подстроки  нет, то возвращается ноль.        Пример их использования: "Во введенной строке заменить все вхождения подстроки 'ABC' на подстроки 'KLMNO'". Program Str6; Var S : String; A : Byte; Begin Writeln('Введите строку'); Readln(S); While Pos('ABC',S)<>0 Do Begin A:= Pos('ABC',S); Delete(S,A,3); Insert('KLMNO',S,A) End; Writeln(S) End. Часто в программировании возникает необходимость перевести один тип в другой (по  доступным типам данных в VB читаем в этой статье  ). Например, число в строку или строку в дату. Для перевода (преобразования) типов в VBA есть множество функций  позволяющих это сделать. Но есть один момент, преобразовать возможно только тот тип  или значение, которое подходит по формату нового типа. К примеру, если преобразовать  строку "356" в целый тип, то на выходе мы получим число, но если в этой строке будет  находиться символ, не относящийся к числу "356р", то преобразование завершится  ошибкой несовпадения типов (Type mismatch). В таблице ниже приведен полный список функций преобразования и тип, в который  происходит преобразование: Функция Возвращает тип Действие CBool CByte CCur CDate CDbl CDec CInt CLng Boolean Byte Currency Date Double Decimal Integer Long Преобразует значение в булевый тип Преобразует значение в тип Byte Преобразует значение в тип Currency Преобразует значение в Дату и  Время Преобразует значение в тип Double Преобразует значение в подтип  Decimal типа Variant Преобразует значение в целый тип Преобразует значение в длинное  целое CSng CStr CVar Single String Variant Преобразует значение в тип Single Преобразует значение в строку Преобразует значение в тип Variant Использование функций преобразования типов Работать с функциями преобразования легко. К примеру, необходимо преобразовать число  4568 в строку: Dim OutStr as String OutStr = CStr(4568) Преобразование строки или числа в булевый тип Dim OutBool as Boolean 'Функция вернет значение True OutBool = CBool(1) OutBool = CBool ("TRUE") Преобразование строки или числа в дату и время Dim OutDate as Date OutDate = CDate("25/06/03 23:35") OutDate = CDate("25.06.03") OutDate = CDate("37797,9826388889") Примечание: Функции преобразования можно использовать непосредственно в  выражении избегая создания лишних переменных.Например: x=y+CInt("456")+z    Функции преобразования и проверки типов данных Функции преобразования и проверки типов данных  VBScript, CBool(), CByte(), CCur(), CDate(), CDbl(), CInt(), CLng(), CSng(), CStr(),TypeNa me(), IsNumeric(), IsDate(), IsArray(), IsEmpty(), IsError(), IsMissing(), IsNull(), IsObject() В программах на VBScript очень часто приходится преобразовывать значения из одного  типа данных в другой. Приведу несколько типичных ситуаций, когда этим приходится  заниматься:  преобразование из строкового значения в числовое при приеме значения от  пользователя через InputBox();  преобразование значения даты/времени в строковое, когда нам нужно отобразить  дату или время единообразно вне зависимости от региональных настроек на  компьютерах пользователей;  преобразование значения из строкового в дату/время для применения специальных  функций даты/времени. Чаще всего для конвертации типов данных используются функции, имя которых  складывается из префикса 'C' (от слова Convert) и имени типа данных. Перечень этих  функций  следующий: CBool(), CByte(), CCur(), CDate(), CDbl(), CInt(), CLng(), CSng(), CStr(). Просмотреть, что в итоге получилось, можно при помощи функции TypeName(), которая  возвращает имя используемого типа данных, например: nVar1 = CInt(InputBox("Введите значение")) MsgBox TypeName(nVar1) В данном случае эта функция вернет "Integer". Кроме того, существует еще несколько полезных для конвертации функций.  IsNumeric() и IsDate() — проверяют значения на соответствие, чтобы не возникло  ошибок при конвертации. Для проверки на соответствие специальным значениям  можно использовать  функции IsArray(), IsEmpty(), IsError(), IsMissing(), IsNull() и IsObject(). Все эти  функции возвращают True или False в зависимости от результатов проверки  переданного им значения.  Hex() и Oct() — преобразовывают десятичные данные в строковое представление  шестнадцатеричных и восьмеричных значений.

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

Использование переменных для хранения информации

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