Запись алгоритмов
Представление данных в памяти, типов данных, идентификаторов, переменных, массивов. Определение структуры программ на VBA, операторы описания, операторы присваивания. Оценка понятия макроса, создания, отладки, использования среды для отладки программ.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 27.09.2017 |
Размер файла | 142,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
1. Представление данных в памяти, типы данных, идентификаторы, переменные, массивы
1.1 Программный способ записи алгоритмов
При записи алгоритма в словесной форме, в виде блок-схемы или на псевдокоде допускается определенный произвол при изображении команд. Вместе с тем такая запись точна настолько, что позволяет человеку понять суть дела и исполнить алгоритм.
Алгоритм, предназначенный для исполнения на компьютере, должен быть записан на "понятном" ему языке. И здесь на первый план выдвигается необходимость точной записи команд, не оставляющей места для произвольного их толкования.
Следовательно, язык для записи алгоритмов должен быть формализован. Такой язык принято называть языком программирования, а запись алгоритма на этом языке - программой для компьютера.
В настоящее время в мире существует несколько сотен реально используемых языков программирования. Для каждого есть своя область применения.
Любой алгоритм есть последовательность предписаний, выполнив которые можно за конечное число шагов перейти от исходных данных к результату. В зависимости от степени детализации предписаний обычно определяется уровень языка программирования - чем меньше детализация, тем выше уровень языка.
По этому критерию можно выделить следующие уровни языков программирования:
- машинные;
- машинно-оpиентиpованные (ассемблеры);
- машинно-независимые (языки высокого уровня).
Машинные языки и машинно-ориентированные языки - это языки низкого уровня, требующие указания мелких деталей процесса обработки данных.
Языки же высокого уровня имитируют естественные языки, используя некоторые слова разговорного языка и общепринятые математические символы. Эти языки более удобны для человека.
Языки высокого уровня делятся на:
- алгоритмические (Basic, Pascal, C и др.), которые предназначены для однозначного описания алгоритмов;
- логические (Prolog, Lisp и др.), которые ориентированы не на разработку алгоритма решения задачи, а на систематическое и формализованное описание задачи с тем, чтобы решение следовало из составленного описания.
- объектно-ориентированные (Object Pascal, C++, Java и др.), в основе которых лежит понятие объекта, сочетающего в себе данные и действия над нами. Программа на объектно-ориентированном языке, решая некоторую задачу, по сути описывает часть мира, относящуюся к этой задаче. Описание действительности в форме системы взаимодействующих объектов естественнее, чем в форме взаимодействующих процедур.
Алгоритмический язык (как и любой другой язык) образуют три его составляющие: алфавит, синтаксис и семантика.
Алфавит - это фиксированный для данного языка набор основных символов, т.е. "букв алфавита", из которых должен состоять любой текст на этом языке - никакие другие символы в тексте не допускаются. Из символов алфавита формируются лексемы языка:
- константы;
- идентификаторы;
- знаки операций;
- ключевые (служебные, иначе зарезервированные) слова;
- разделители (знаки пунктуации).
Синтаксис - это правила построения фраз, позволяющие определить, правильно или неправильно написана та или иная фраза. Точнее говоря, синтаксис языка представляет собой набор правил, устанавливающих, какие комбинации символов являются осмысленными предложениями на этом языке.
Семантика определяет смысловое значение предложений языка. Являясь системой правил истолкования отдельных языковых конструкций, семантика устанавливает, какие последовательности действий описываются теми или иными фразами языка и, в конечном итоге, какой алгоритм определен данным текстом на алгоритмическом языке.
Каждое понятие алгоритмического языка подразумевает некоторую синтаксическую единицу (конструкцию) и определяемые ею свойства программных объектов или процесса обработки данных.
Понятие языка определяется во взаимодействии синтаксических и семантических правил. Синтаксические правила показывают, как образуется данное понятие из других понятий и букв алфавита, а семантические правила определяют свойства данного понятия
Основными понятиями в алгоритмических языках обычно являются данные, имена, операции и выражения, операторы.
1.2 Представление данных в памяти
Данные - величины, обрабатываемые программой. Имеется три основных вида данных: константы, переменные и массивы.
Константы - это данные, которые зафиксированы в тексте программы и не изменяются в процессе ее выполнения. Константы представляются в виде лексем, изображающих фиксированные числовые, логические, символьные или строковые значения.
Числовые константы могут быть целыми, вещественными (с фиксированной или плавающей точкой) и перечислимыми.
Целые константы могут быть десятичными, восьмеричными и шестнадцатеричными. Десятичная целая константа определена как последовательность десятичных чисел, начинающаяся не с нуля, если это не число нуль. Восьмеричные константы в Visual Basic for Application начинаются с префикса &O и содержат числа от 0 до 7. Шестнадцатеричные числа начинаются с префикса &H и содержат числа от 0 до 9 и латинские буквы от A до F.
Примеры констант: 123, &O247, &H1F.
Вещественные константы записываются в десятичной системе счисления и в общем случае содержат целую часть (десятичная целая константа), десятичную точку, дробную часть (десятичная целая константа), признак (символ) экспоненты E и показатель десятичной степени (десятичная целая константа, возможно со знаком).
Примеры констант: 123.456, 3.402823E38.
Перечислимые константы - это набор обычных целочисленных констант. Перечисляемый набор может содержать конечный набор уникальных целых значений, каждое из которых имеет особый смысл в текущем контексте. Перечисляемые наборы являются удобным инструментом, обеспечивающим выбор из ограниченного набора параметров. Например, если пользователь должен выбрать цвет из списка, то можно установить соответствие: черный = 0, белый = 1 и т.д.
Логические (булевы) константы могут иметь лишь одно из двух значений: да (истина, TRUE), нет (ложь, FALSE).
Символьные и строковые константы. В отличие от большинства языков программирования, где существуют отдельно символьные (содержащие один символ алфавита) и строковые (массив символов) константы, в VBA существуют только строковые, имеющие два типа значений:
- Строки переменной длины, которые могут содержать до приблизительно 2 миллиардов (2^31) символов.
- Строки постоянной длины, которые могут содержать от 1 до приблизительно 64K (2^16) символов.
Примеры строковых констант: "abcde", "информатика", "" (пустая строка).
В зависимости от значения константы по разному представляются в памяти ПК. Целые представляют последовательный набор фиксированного количества байтов, а вещественные, даже не отличаясь от целых по значению, имеют другую форму внутреннего представления, обусловленную применением арифметики с плавающей точкой при операциях с такими константами и представлением вещественного числа. В общем случае форма представления данных в памяти ПК определяется типом данных.
1.3 Типы данных
Тип данных определяет, каким образом биты данных, представляющие конкретное значение, хранятся в памяти ПК. В каждом языке программирования имеется свой фиксированный набор базовых типов данных. Некоторые языки позволяют создание дополнительных (пользовательских) типов данных. В VBA имеются следующие типы данных:
Тип данных |
Размер |
Диапазон значений |
|
Byte (байт) |
1 байт |
От 0 до 255. |
|
Boolean (логический) |
2 байт |
True или False. |
|
Integer (целое) |
2 байт |
От -32 768 до 32 767. |
|
Long (длинное целое) |
4 байт |
От -2 147 483 648 до 2 147 483 647. |
|
Single (с плавающей точкой обычной точности) |
4 байт |
От -3,402823E38 до -1,401298E-45 для отрицательных значений; от 1,401298E-45 до 3,402823E38 для положительных значений. |
|
Double (с плавающей точкой двойной точности) |
8 байт |
От -1,79769313486232E308 до -4,94065645841247E-324 для отрицательных значений; от 4,94065645841247E-324 до 1,79769313486232E308 для положительных значений. |
|
Currency (денежный) |
8 байт |
От -922 337 203 685 477,5808 до 922 337 203 685 477,5807. |
|
Decimal (масштабируемое целое) |
14 байт |
+/-79 228 162 514 264 337 593 543 950 335 без дробной части; +/-7,9228162514264337593543950335 с 28 знаками справа от запятой; минимальное ненулевое значение имеет вид +/-0,0000000000000000000000000001. |
|
Date (даты и время) |
8 байт |
От 1 января 100 г. до 31 декабря 9999 г. |
|
Object (объект) |
4 байт |
Любой указатель объекта. |
|
String (строка переменной длины) |
10 байт + длина строки |
От 0 до приблизительно 2 миллиардов. |
|
String (строка постоянной длины) |
Длина строки |
От 1 до приблизительно 65 400. |
|
Variant (числовые подтипы) |
16 байт |
Любое числовое значение вплоть до границ диапазона для типа Double. |
|
Variant (строковые подтипы) |
22 байт + длина строки |
Как для строки (String) переменной длины. |
|
Тип данных, определяемый пользователем (с помощью ключевого слова Type) |
Объем определяется элементами |
Диапазон каждого элемента определяется его типом данных. |
Поясним некоторые характерные для VBA типы данных.
Byte - Массивы данного типа служит для хранения двоичных данных, например, изображений. Использование данного типа предохраняет двоичные данные во время преобразования формата.
Boolean - для хранения логических (булевых) значений. По умолчанию значением булевской переменной является False- ложь.
Currency - для хранения чисел с дробной частью до четырех цифр и целой частью до 15 цифр, то есть данных с фиксированной десятичной точкой, удобных для денежных вычислений. Числа с плавающей десятичной точкой (Single, Double) имеют больший диапазон значений, но могут приводить к ошибкам округления.
Decimal - в версии 5.0 поддерживается использование типа данных Decimal только в пределах типа Variant, т.е. невозможно описать переменную с типом Decimal. Пользователь, однако, имеет возможность создать переменную типа Variant с подтипом Decimal с помощью функции CDec.
Object - поскольку VBA является объектно-ориентированным языком, в нем можно манипулировать различными объектами, адреса расположения которых в памяти (указатели) имеют этот тип.
String - по умолчанию данные строкового типа имеют переменную длину и могут удлиняться или укорачиваться. Однако такие строки занимают на 10байт памяти больше, поэтому можно объявить строки фиксированной длины, чвно указав количество символов. Если количество символов будет меньше объявленного, то свободные места заполняются пробелами, при попытке занесения большего количества символов лишние отбрасываются.
Variant - может быть использован для хранения данных всех базовых типов без выполнения преобразования (приведения) типов. Применение данного типа позволяет выполнять операции, не обращая внимание на тип данных, которые они содержат. Удобен для объявления переменных, тип которых заранее неизвестен. Переменные этого типа могут содержать специальные значения: Empty, Null, Error.
1.4 Идентификаторы, переменные, массивы
Имена (идентификаторы) - употребляются для обозначения объектов программы (переменных, массивов, процедур и дp.). В VBA имена констант, переменных и процедур должны удовлетворять следующим требованиям:
-должны начинаться с буквы;
- не могут содержать точки и символов объявления типа;
- не могут быть длиннее 255 символов. Длина имен объектов не должна превышать 40 символов.
- не могут быть ключевыми словами (именами операций, операторов, встроенных функций).
Переменные представляют собой зарезервированное место в памяти ПК для хранения значения. Переменные обозначаются именами - словами, используемыми для ссылки на значение, которое содержит переменная, и характеризуются типом, определяющим вид данных, которые можно хранить в переменной. Переменные могут изменять свои значения в ходе выполнения программы. По умолчанию переменные имеют тип данных Variant, если в модуле отсутствует инструкция DefТип. Для явного указания типа переменной можно в конце ее имени указать символ описания типа:
Currency - @;
Double - #;
Integer - %;
Long - &;
Single - !;
String - $.
или объявления переменных. Объявить переменную - значит заранее сообщить программе о ее существовании. Объявление переменной производится специальным оператором. Одновременно с объявлением переменной после ее имени можно записать ключевое слово As, после которого задается тип переменной.
Инструкции DefТип используются на уровне модуля (т.е. их нельзя использовать внутри процедур) для задания типа данных, используемого по умолчанию для переменных, имена которых начинаются с соответствующих символов.
DefBool диапазонБукв[, диапазонБукв] . . .
DefByte диапазонБукв[, диапазонБукв] . . .
DefInt диапазонБукв[, диапазонБукв] . . .
DefLng диапазонБукв[, диапазонБукв] . . .
DefCur диапазонБукв[, диапазонБукв] . . .
DefSng диапазонБукв[, диапазонБукв] . . .
DefDbl диапазонБукв[, диапазонБукв] . . .
DefDec диапазонБукв[, диапазонБукв] . . .
DefDate диапазонБукв[, диапазонБукв] . . .
DefStr диапазонБукв[, диапазонБукв] . . .
DefObj диапазонБукв[, диапазонБукв] . . .
DefVar диапазонБукв[, диапазонБукв] . . .
Обязательный аргумент диапазонБукв имеет следующий синтаксис: буква_1[-буква_2]
Аргументы буква_1 и буква_2 указывают диапазон имен, для которых задается тип данных по умолчанию. Каждый аргумент представляет первую букву имени переменной и может быть любой буквой алфавита. Регистр символов в аргументе диапазонБукв не существенен.
Пример. DefInt A-K
Константы - имена, идентифицирующие некоторые неизменяемые числовые значения или строки текста. В отличие от переменных их нельзя изменить или назначить им новые значения. В VBA различают внутренние или системные константы, которые имеют префикс vb, например vbOK, и символические или определяемые пользователем с помощью ключевого слова Const константы. Имена констант имеют те же ограничения, что и имена переменных, тип данных, хранящихся в константе, задается так же, как для переменных.
Массивы - последовательности логически связанных элементов одного типа, которым присвоено одно имя. Положение элемента в массиве однозначно определяется его индексами (одним, в случае одномерного массива, или несколькими, если массив многомерный). Имена массивов имеют те же ограничения, что и имена переменных, тип данных, хранящихся в массиве, задается так же, как для переменных. Однако если массив имеет тип Variant, его отдельные элементы могут содержать данные разных типов.
В VBA существуют два вида массивов: массив фиксированного размера и динамический массив, размер которого может изменяться во время выполнения программы с помощью специальных операторов.
При объявлении массива фиксированной длины за его именем в круглых скобках задаются через запятую верхние границы каждой размерности, не превышающие максимального значения типа Long. По умолчанию нижняя граница равна 0, но ее можно задать явно с помощью ключевого слова To:
Lines (100 To 120) As String
При объявлении динамического массива список его размерностей оставляют пустым, а затем с помощью специального оператора назначают действительное число размерностей и элементов массива.
Примечание. В VBA массивы любых типов данных требуют 20 байт памяти плюс 4 байт на каждую размерность массива плюс число байт, требуемых для хранения данных. Объем памяти, требуемый для сохранения данных, рассчитывается как произведение числа элементов на размер элемента. Например, данные в одномерном массиве, который содержит четыре элемента типа Integer, требующих по 2 байт на элемент, занимают 8 байт. Вместе с 20 байт на массив и 4 байт на размерность общий требуемый объем составляет 32 байт.
Значение типа Variant, содержащее массив, требует 12 байт в дополнение к объему, требуемому массивом.
Структуры - в VBA нет понятия структуры, но есть определяемый пользователем с помощью инструкции Type тип данных. Типы данных, определяемые пользователем, могут содержать один или несколько элементов любого типа данных, массивы или ранее определенные пользователем типы. Например:
Type MyType
MyName As String ' Имя записывается в строковую переменную.
MyBirthDate As Date ' День рождения записывается в переменную даты.
MySex As Integer ' Пол записывается в целую переменную
End Type ' (0 для женщины, 1 для мужчины).
1.5 Операции, выражения, операторы
Операции. В VBA существуют следующие типы операций:
- арифметические операции, используемые для выполнения математических вычислений: ^, *, /, \, Mod, +, -. Здесь \ - Возвращает результат целого деления двух чисел, Mod - Возвращает остаток при целом делении двух чисел (значение по модулю).
- операции сравнения, используемые для выполнения операций сравнения < , > , <=, >= , = , <> ;
- логические операции, используемые для выполнения логических операций
And - Возвращает результат конъюнкции (логического И) для двух выражений с операциями сравнения, либо выполняет поразрядное сравнение двух числовых выражений:
Eqv - Используется для проверки логической эквивалентности двух выражений с операциями сравнения, либо выполняет поразрядное сравнение двух числовых выражений:
Imp - Выполняет операцию логической импликации для двух выражений с операциями сравнения, либо выполняет поразрядное сравнение двух числовых выражений:
Not - Выполняет над выражением операцию логического отрицания, а также поразрядное изменение значений каждого разряда переменной:
Or - Выполняет операцию логического ИЛИ (сложения) для двух выражений:
Xor - Выполняет операцию исключающего ИЛИ для двух выражений:
- операция конкатенации символьных значений друг с другом с образованием одной длинной строки:
& - Используется для слияния двух строковых выражений.
Выражения - предназначаются для выполнения необходимых вычислений, состоят из констант, переменных, функций (например, exp(x)), объединенных знаками операций.
Выражения записываются в виде линейных последовательностей символов (без подстрочных и надстрочных символов, "многоэтажных" дробей и т.д.), что позволяет вводить их в компьютер, последовательно нажимая на соответствующие клавиши клавиатуры.
Различают выражения арифметические, логические и строковые.
- Арифметические выражения служат для определения одного числового значения. Например, (1+sin(x))/2. Значение этого выражения при x=0 равно 0.5, а при x=p/2 - единице.
- Логические выражения описывают некоторые условия, которые могут удовлетворяться или не удовлетворяться. Таким образом, логическое выражение может принимать только два значения - "истина" или "ложь" (да или нет). Рассмотрим в качестве примера логическое выражение x*x+y*y<r*r, определяющее принадлежность точки с координатами (x,y) внутренней области круга радиусом r c центром в начале координат. При x=1, y=1, r=2 значение этого выражения - "истина", а при x=2, y=2, r=1 - "ложь".
- Значения строковых выражений - тексты. В них могут входить литерные константы, литерные переменные и литерные функции, разделенные знаком операции сцепки. Например, А & В означает присоединение строки В к концу строки А. Если А = "куст ", а В = "зеленый", то значение выражения А&В есть "куст зеленый".
Операторы (команды). Оператор - это наиболее крупное и содержательное понятие языка: каждый оператор представляет собой законченную фразу языка и определяет некоторый вполне законченный этап обработки данных. В состав операторов входят:
- ключевые слова;
- данные;
- выражения и т.д.
Операторы подразделяются на исполняемые и неисполняемые. Неисполняемые операторы предназначены для описания данных и структуры программы, а исполняемые - для выполнения различных действий (например, оператор присваивания, операторы ввода и вывода, условный оператор, операторы цикла, оператор процедуры и дp.).
2. Структура программ на VBA, операторы описания, операторы присваивания
2.1 Структура программ на VBA
Программы на VBA хранятся в проектах. Проект содержит модули различных типов, а модули включают различные процедуры.
Проект может содержать несколько модулей. Имеется три типа модулей:
- стандартные модули - это модули, в которых можно описать доступные во всем проекте процедуры;
- модули класса содержат описание объекта, который является членом класса. Процедуры, написанные в модуле класса, используются только в этом модуле. Среди модулей класса выделяют модули форм и отчетов, которые связаны с конкретной формой или отчетом. и Модули форм и отчетов часто содержит процедуры обработки событий, которые срабатывают в ответ на событие в форме или отчете. Процедуры обработки событий используются для управления поведением форм и отчетов и их реакцией на действия пользователя типа щелчка мыши на кнопке.
Модули содержат описания и процедуры - наборы описаний и инструкций, сгруппированных для выполнения. Существует три типа процедур:
- процедура Sub - набор команд, с помощью которого можно решить определенную задачу. При ее запуске выполняются команды процедуры, а затем управление передается в приложение пакета MS Office или процедуру, которая вызвала данную процедуру.
- процедура Function (функция) также представляет собой набор команд, который решает определенную задачу. Различие заключается в том, что такие процедуры обязательно возвращают значение, тип которого можно описать при создании функции.
- процедура Property используется для ссылки на свойство объекта. Данный тип процедур применяется для установки или получения значения пользовательских свойств форм и модулей.
Для создания модуля в любом приложении MS Office необходимо выбрать команду меню Сервис\Макрос\Редактор Viual Basic. В окне "Проект" необходимо щелкнуть правой кнопкой мыши на любом элементе либо в окне редактора выбрать команду меню Вставка, а далее тип модуля. При выборе формы (Userform) для перехода к ее модулю используется команда Вид\Программа или кнопка "Программа" в окне "Проект".
Самое начало модуля называется общей областью, в которой располагаются общие описания, например, типа данных, используемого по умолчанию (DefТип), инструкция Option Explicit, требующая явного описания всех используемых в модуле переменных, а также описания общих (глобальных) для всех модулей и для данного модуля переменных.
2.2 Операторы описания
Объявление переменной производится одним из операторов Dim, Static, Private, Public, за которым следует имя переменной и необязательная часть с ключевым словом As, после которого задается тип переменной, например Dim name [As type]. Оператор Public используется только вне модуля, в его общей части и делает описываемую переменную доступной из всех процедур всех модулей проекта. Оператор Private служит для объявления переменной уровня модуля, доступной только процедурам данного модуля. Можно использовать также оператор Dim, но применение Private предпочтительнее как противоположное Public.
Переменные могут быть объявлены внутри процедуры операторами Dim или Static. Такие переменные называют также локальными, поскольку доступны только в той процедуре, в которой они объявлены. Данное свойство (область видимости) позволяет использовать одинаковые имена переменных в разных процедурах, не опасаясь конфликтов или случайных изменений значений переменных. Время жизни локальных переменных, объявленных с помощью оператора Dim равно времени работы процедуры и по ее окончании значения таких переменных теряются.
Переменные, объявленные с помощью оператора Static сохраняют свои значения в течении всего времени выполнения приложения. При повторном входе в процедуру, где описана такая переменная, ее значение сохраняется.
Операторы Public и Private можно применять при описании констант и процедур, что позволяет указать их область видимости. Для процедур возможно также применение оператора Static, что позволяет сделать все переменные в процедуре статическими:
Static Function Total (num) as Integer
Это приводит к тому, что все локальные переменные в процедуре становятся статическими, независимо от того, как они определены; операторами Static, Dim, Private или неявным образом.
2.3 Операторы присваивания
Инструкция Let Присваивает значение выражения переменной или свойству:
[Let] имяПеременной = выражение
Явное использование ключевого слова Let зависит от вкуса пользователя, обычно это слово опускают.
Значение выражения может быть присвоено переменной, только если оно имеет совместимый с этой переменной тип данных. Невозможно присвоить строковое выражение числовой переменной или числовое выражение строковой переменной. Такая попытка приведет к ошибке во время компиляции.
Переменным типа Variant могут присваиваться как строковые, так и числовые выражения. Однако обратное не всегда верно. Любое значение типа Variant, за исключением значения Null, допускает присвоение строковой переменной, но только значение типа Variant, которое может рассматриваться как число, может быть присвоено числовой переменной. Пользуйтесь функцией IsNumeric для определения возможности преобразования значения Variant в числовое значение.
Внимание! Присвоение выражения с одним из числовых типов переменной с другим числовым типом данных преобразует значение выражения в тип данных результирующей переменной.
Инструкция Let может быть использована для присвоения одной переменной-записи другой, только если обе переменные имеют одинаковый определяемый пользователем тип. Для присвоения переменных-записей различных определяемых пользователем типов используется инструкция LSet. Для присвоения переменным ссылок на объекты применяется инструкция Set.
3. Понятие макроса, создание, отладка, использование среды для отладки программ
идентификатор оператор присваивание отладка
3.1 Понятие макроса
Макрос - процедура на внутреннем языке приложения, в которой записаны действия пользователя приложения. В программах Word, Excel и PowerPoint макрос записывается на VBA. В Access макросы создаются с помощью собственного языка макросов, а не записываются автоматически, и к тому же не являются процедурами VBA.
3.2 Создание
Прежде чем записать макрос, требуется продумать свои действия, то есть составить алгоритм. Особое внимание следует уделить таким положениям:
- Какие условия должны выполняться при запуске макроса (какой файл должен быть открыт, где должен находиться курсор, в каком режиме должно работать приложение).
- Какие действия должен выполнять макрос.
- Какие действия необходимо проделать при завершении работы макроса.
Чтобы начать запись макроса, необходимо:
- Активизировать приложение
- Открыть документы, используемые при записи макроса
- Выбрать команду Сервис\Макрос
- Выбрать команду Начать запись. Выводится диалоговое окно Запись макроса
- Ввести имя записываемого макроса в поле Имя макроса
- Выбрать в списке Макрос доступен для документ, в который требуется поместить макрос
- Нажать ОК, чтобы начать запись
После этого записываются все выполняемые в приложении действия
По завершении выполнения требуемых действий необходимо:
- Нажать на панели инструментов Остановка записи кнопку Остановить запись
- или выбрать команду Сервис\Макрос\Остановить запись
Вновь созданный макрос содержится в документе, который был активным при запуске макроса. При записи документа на диск макрос сохраняется вместе с проектом.
Для выполнения записанного макроса необходимо:
- Выбрать команду Сервис\Макрос\Макросы. Выводится диалоговое окно Макрос.
- Выбрать имя требуемого макроса
- Нажать кнопку Выполнить для запуска макроса.
Для редактирования записанного макроса необходимо:
- Выбрать команду Сервис\Макрос\Макросы. Выводится диалоговое окно Макрос.
- Выбрать имя требуемого макроса
- Нажать кнопку Изменить. Макрос выводится в окне редактора Visual Basic for Applications..
3.3 Отладка, использование среды для отладки программ
Поскольку идеальных программистов не существует, в большинстве систем разработки программ имеются инструменты, с помощью которых можно решить проблемы, возникающие в процессе программирования. В VBA также есть средства, которые позволяют либо исключить ошибки при разработке, либо задать обработку ошибок при выполнении программ.
Отладка программ - это проверка и внесение исправлений в программу при ее разработке. Отладка позволяет идентифицировать ошибки, допущенные при программировании (синтаксические - ошибки в выражениях и именах, и логические - в логике работы программы).
Обработка ошибок - это задание реакции на ошибки, которые возникают при выполнении программы. Их причиной могут быть как ошибки программиста, так и внешние факторы - отсутствие нужных файлов, отказы аппаратуры, неправильные действия пользователя.
Типы ошибок. Ошибки в программе делятся на три категории:
Ошибки компиляции - возникают, когда компилятор не может интерпретировать введенный текст. Некоторые ошибки компиляции обнаруживаются при вводе, а другие - перед выполнением программы. Такие ошибки легко определить и исправить, поскольку VBA выявляет их автоматически, а сами ошибки очевидны.
Примечание. VBA автоматически компилирует программу каждый раз при запуске на выполнение после внесения изменений. Можно также запустить компиляцию командой Отладка\Компилировать.
Ошибки выполнения - возникают при выполнении программы после успешной компиляции. Их причиной обычно является отсутствие данных или неправильная информация, введенная пользователем. Такие ошибки идентифицируются VBA с указанием инструкции, при выполнении которой произошла ошибка. Для исправления таких ошибок обычно приходится выводить значения переменных или другие данные, которые влияют на успешное выполнение программы.
Логические ошибки трудно заметить и устранить. Они не приводят к прекращению компиляции или выполнения, однако являются причиной того, что программа не выдает желаемых результатов. Выявление таких ошибок производят путем тщательной проверки с помощью средств отладки VBA.
Средства отладки. В VBA имеется большое количество средств, предназначенных для отладки программ. К ним относятся: использование оператора Option Explicit, пошаговое выполнение программы, работа в режиме прерывания, использование точек останова, вывод значений переменных.
Использование Option Explicit. Данный оператор описания требует явного задания переменных в программах. При его использовании возникает ошибка компиляции при неправильном написании имени переменной или использовании неописанной переменной. Кроме того, явное описание переменных позволяет обойтись без использования типа данных Variant и связанных с его использованием ошибок при неявном приведении типов данных.
Пошаговое выполнение программы. Этот режим служит для локализации ошибок в теле программы. Для его запуска используются команды меню, клавиатура или панель инструментов Отладка, отображаемая командой Вид\Панели инструментов\Отладка. В меню и на панели инструментов имеются четыре команды (кнопки) для выполнения программы в пошаговом режиме.
- Команда Отладка\Шаг с заходом (клавиша F8) позволяет выполнить одну строку программы и перейти к следующей. Если следующая строка - вызов процедуры, то происходит переход к первому выполняемому оператору этой процедуры.
- Команда Отладка\Шаг с обходом (клавиши Shift+F8) также выполняет одну строку программы, но если строкой является вызов процедуры, то она выполняется как одна инструкция. Данная команда используется, если известно, что эта процедура работает правильно.
- Команда Отладка\Шаг с выходом (клавиши Ctrl+Shift+F8) заканчивает выполнение текущей процедуры и останавливается на следующей после вызова текущей процедуры инструкции в вызывающей подпрограмме.
- Команда Отладка\Выполнить до текущей позиции (клавиши Ctrl+F8) выполняет программу от текущей до выбранной инструкции. Перед выбором данной команды требуется установить курсор в окне модуля на требуемую позицию.
Работа в режиме прерывания. Переход в данный режим выполняется:
- При нажатии кнопки Отладка в окне сообщения об ошибке выполнения.
- При прерывании работы программы нажатием клавиш Ctrl+Break. Текущая строка программы выделяется в окне модуля.
- По достижении точки останова.
- По достижении оператора Stop.
- При пошаговом выполнении программы.
В режиме прерывания можно:
- Вывести значение переменной.
- Вычислить выражение в окне отладки.
- Сбросить программу
- Выполнить программу в пошаговом режиме.
- Продолжить выполнение программы.
Для выхода из режима прерывания используется команда Запуск\Сброс.
Использование точек останова. Точка останова - это строка в процедуре, на которой приостанавливается выполнение программы. Все команды, находящиеся выше точки останова, выполняются с обычной скоростью, а по достижении контрольной точки программа переходит в режим прерывания. Затем можно отлаживать процедуру в пошаговом режиме, либо использовать различные способы вывода значений переменных. Кроме того, имеется возможность остановить выполнение или сбросить процедуру командами меню Запуск или кнопками панели инструментов Отладка. В одном проекте можно задать несколько точек останова, причем в различных процедурах.
Чтобы установить или снять точку останова, используется команда Отладка\Точка останова или клавиша F9, либо кнопка Точка останова панели инструментов Отладка. Можно также установить или снять точку останова, щелкнув левой кнопкой мыши на полосе индикатора против требуемой строки. Точка останова отмечается коричневой жирной точкой на полосе индикатора, а сама строка выделяется коричневым цветом.
Чтобы быстро удалить все точки останова открытого проекта, используется команда Отладка\Снать все точки останова или комбинация клавиш Ctrl+Shift+F9. Для данной команды не предусмотрена кнопка на панели инструментов Отладка.
Вывод значений переменных. При наличии тестового примера вывод значений переменных позволяет сравнить ожидаемые и полученные значения переменных. Для отображения значений переменных в режиме прерывания необходимо:
- При установленном флажке Подсказки значений переменных в окне Сервис\Параметры достаточно переместить указатель мыши на требуемую переменную для отображения имени и значения переменной во всплывающей подсказке.
- Выбрать команду Отладка\Контрольное значение (нажать клавиши Shift+F9) для вывода диалогового окна Контрольное значение. При этом курсор должен находиться возле переменной, значение которой надо контролировать. В окне Контрольное значение отображается контекст (имя модуля и процедуры), выделенное выражение (переменная) и кнопки Добавить и Отмена. При нажатии кнопки Добавить откроется окно Контрольные значения, содержащее имена переменных (выражения), их значения, тип данных и контекст.
- Для добавления других контрольных значений используется команда Отладка\Добавить контрольное значение.
- Выбрать команду Вид\Окно локальных переменных. Откроется окно Локальные переменные, в котором в режиме прерывания отображаются имена, значения и типы всех переменных модуля.
- Выбрать команду Вид\Окно отладки. В нем немедленно выполняется введенная в него инструкция, обычно операция отображения значения выражения вида Print имя, или операция присваивания значения переменной. Выполняемая программа также может выводить информацию в это окно с помощью выражения Debug.Print имя переменной.
Для отображения значений переменных в режиме нормальной работы необходимо ввести в тело программы вызов функции MsgBox (сообщение, [кнопки, заголовок]). Эта функция отображает диалоговое окно, содержащее сообщение длиной до 1024 символов, в которое с помощью операции конкатенации можно включить значение переменных, а также (необязательно) кнопки для реакции на отображения окна (по умолчанию только кнопка ОК) и заголовок окна (строковое выражение). Пример:
MsgBox "Значение val=" & val
Заметим, что VBA не имеет встроенных функций ввода/вывода в документ. Поэтому для вывода значений выражений и переменных в активный документ приходится создавать пользовательские процедуры. Например, для вывода значения в ячейку рабочего листа "Лист1" активной книги Excel приходится записывать в модуле и вызывать процедуру вида:
Sub out(name As String, val As Variant)
Лист1.Range(name).Value = val
End Sub
Здесь name - координаты ячейки, записанные в кавычках, а val - имя выводимой переменной.
Для ввода значений переменных в программу применяют функцию InputBox(сообщение[, заголовок] [, значение по умолчанию] [, координата x] [, координата y]). Эта функция отображает диалоговое окно, содержащее окно ввода, кнопки ОК и Отмена, сообщение (подсказку для ввода) и (необязательно) заголовок окна, значение, вводимое по умолчанию, координаты окна по горизонтали и вертикали в твиках. Заметим, что функция InputBox всегда (даже при нажатии кнопки Отмена) возвращает значение строкового типа, поэтому вызов ее должен иметь вид:
name = InputBox("Введи адрес ячейки", "Ввод", "a1", 100, 200)
Для преобразования введенного значения к нужному типу данных используются функции явного приведения типа, такие как CDbl(выражение), CInt(выражение), CLng(выражение), CSng(выражение), CVar(выражение), CStr(выражение).
Для ввода значений переменных из активного документа приходится создавать пользовательские процедуры. Например, для ввода значения из ячейки рабочего листа "Лист1" активной книги Excel приходится записывать в модуле и вызывать процедуру вида:
Sub read(name As String, val As Variant)
val = Лист1.Range(name).Value
End Sub
Здесь name - координаты ячейки, записанные в кавычках, а val - имя вводимой переменной.
3.4 Обработка ошибок выполнения
Как уже отмечалось выше, одной из основных проблем являются ошибки выполнения. Эти ошибки возникают при попытке произвести недопустимую операцию, например, при открытии несуществующего файла, делении на ноль, или при обработке неправильно введенных пользователем данных.
Так или иначе, при возникновении ошибки выполнение программы прерывается и выводится сообщение. К сожалению, это сообщение несет мало полезной информации, поскольку в нем указывается только недопустимая операция, а не причина возникновения ошибки. Еще хуже то, что программа не выполняется до конца и не произведены все необходимые действия.
Пользователь может без всякого умысла произвести действия, которые нанесут непоправимый вред данным. Следовательно, необходимо каким-то образом оградить себя от возникновения подобных ситуаций.
При программировании имеются два подхода:
- Предотвращение ошибочных ситуаций.
- Обработка ошибки с помощью специальной процедуры.
При разработке программ рекомендуется по возможности предотвращать возникновение ошибочных ситуаций. Начиная создание алгоритма макроса, следует ответить на ряд вопросов, например:
- Существует ли файл, который требуется открыть?
- Находится ли курсор в требуемой для выполнения макроса позиции?
Перехватываемые ошибки.
Перехват используется в том случае, когда предотвратить возникновение ошибочных ситуаций невозможно. Полный список перехватываемых ошибок приводится в разделе системы справочной информации Visual Basic "Перехватываемые ошибки" (Trappable Errors). Ниже описываются только некоторые из них.
КОД СООБЩЕНИЕ
3 Инструкция Return без Gosub
6 Переполнение
7 Не хватает памяти
9 Индекс выходит за пределы допустимого диапазона
11 Деление на 0
18 Произошло прерывание, вызванное пользователем
35 Процедура Sub, Function или Property не определена
53 Файл не найден
61 Переполнение диска
71 Диск не готов
91 Не задана объектная переменная блока With
97 Невозможен вызов процедуры Friend для объекта, не являющегося экземпляром определяющего класса
335 Невозможен доступ к системному реестру
368 Истек срок данного системного файла. Программе требуется файл более новой версии
402 Сначала необходимо закрыть самую верхнюю модальную форму
422 Свойство не найдено
440 Ошибка программирования объектов
448 Именованный аргумент не найден
482 Ошибка принтера
31032 Невозможно создать внедренный объект
Очевидно, что ни одно из показанных сообщений не дает пользователю исчерпывающих сведений о причине возникновения ошибки. Профессионал может точно определить проблему, используя систему справочной информации, а человеку, который захочет, например, написать письмо или ввести данные в отчет с помощью разрабатываемого приложения, такие сообщения непонятны. Предотвращая возникновение ошибок или перехватывая их, можно исключить вывод стандартных сообщений. Вместо них появляется возможность либо отобразить собственную подсказку, либо попытаться исправить положение с помощью макроса. Ниже объясняется, как перехватить ошибку.
Перехват ошибок.
Обработка ошибок выполнения в VBA называется перехватом ошибки. Правильно разработав подпрограмму обработки ошибок, можно задать отклик на многие возможные ошибки. Наиболее важно, чтобы ошибка не остановила выполнение процедуры. При этом пользователь может даже не заметить, что произошла ошибка.
Система перехвата ошибок включает следующие компоненты:
- Инструкция On Error устанавливает перехват ошибки. Она сообщает процедуре, что делать, если произошла ошибка, обычно передавая управление подпрограмме обработки ошибки.
- Подпрограмма обработки ошибки - это часть выполняемой процедуры, которая используется для обработки ошибок. Обычно в ней определяется тип возникшей ошибки, а затем производятся соответствующие действия. Начало подпрограммы обработки идентифицируется меткой.
- Объект Err содержит информацию о возникшей ошибке. Подобно любому объекту он имеет свои свойства, включая номер и описание ошибки.
- Инструкция Resume позволяет процедуре продолжить операции после обработки ошибки.
- Инструкция Exit позволяет выйти из процедуры, не выполняя оставшийся код. Данная инструкция используется очень часто, поскольку если ошибок не возникло, то не следует исполнять подпрограмму обработки ошибки.
Общие сведения о перехвате ошибок.
Общее правило перехвата ошибок можно пояснить на примере следующей процедуры:
Sub MyProcedure ()
On Error GoTo MyErrorHandler
'…
' Обычные действия, при выполнении каждого из
' которых может произойти ошибка
'…
Exit Sub ' Выход для обхода подпрограммы обработки ошибки
MyErrorHandler:
'…
' Подпрограмма обработки ошибки
'…
Resume
End Sub
Инструкция On Error устанавливает перехват ошибки для невыполненной части макроса, указывая на подпрограмму обработки ошибки. В макросе может быть несколько инструкций On Error, каждая из которых определяет разные процедуры обработки. В предыдущем примере при возникновении ошибки управление передается инструкции с меткой MyErrorHandler.
Инструкция On Error имеет три формы:
- Инструкция On Error GoTo метка позволяет передать управление подпрограмме обработки ошибки, которая идентифицируется меткой.
- Инструкция On Error Resume Next позволяет игнорировать ошибку и продолжить выполнение со следующей инструкции после той, при исполнении которой возникла ошибка. Если ошибка вызывает возникновение других ошибок, то лучше не применять данную форму инструкции On Error.
Для определение типа ошибки и выполнения, соответствующих ей действий имеется возможность получить значение свойства Number объекта Err.
- Инструкция On Error GoTo 0 отключает обработку ошибок для данной процедуры. Данная инструкция обычно указывается после первых двух форм инструкции On Error ниже строк, в которых могут возникнуть ошибки. Поскольку подпрограмма обработки уже сыграла свою роль, можно не перехватывать ошибки.
В любом случае инструкция On Error устанавливает обработку ошибок только в той процедуре, в которой она указана.
Инструкцию On Error можно указывать произвольное число раз, изменяя способ обработки ошибок.
Sub MySub ()
'…
On Error GoTo MyHandler
'…
OnError Resume Next
'…
On Error GoTo 0
'…
MyHandler:
'…
Resume
End Sub
Метка, которая помечает начало подпрограммы обработки ошибок, является параметром инструкции GoTo. Меткой является любое допустимое имя, оно располагается в самом начале строки, а сразу за ней ставится (:).
Обратите внимание, что в инструкции GoTo двоеточие не используется, т.к. оно не является частью имени. Двоеточие только идентифицирует метку.
Инструкция Resume указывается в конце подпрограммы обработки ошибок после выполнения всех требуемых действий. Она возобновляет исполнение процедуры, в которой возникла ошибка.
Совет.
Инструкцию Resume можно использовать только в подпрограмме обработки ошибки. В противном случае возникает ошибка.
Инструкция Resume имеет три формы:
- Инструкция Resume Next передает управление инструкции, которая следует за той, в которой возникла ошибка. Предполагается, что подпрограмма обработки устранила последствия ошибки.
- Инструкция Resume или Resume 0 передает управление инструкции, в которой возникла ошибка, и VBA производит попытку выполнять эту строку снова. Предполагается, что подпрограмма обработки устранила причины, которые вызвали ошибку, и теперь инструкцию можно выполнить без ошибки.
- Инструкция Resume метка передает управление инструкции, идентифицированной указанной меткой.
Инструкция Resume является необязательной. Если требуется завершить выполнение процедуры после обработки ошибки, то можно опустить эту инструкцию.
Обратите внимание на следующее правило: каждая процедура должна иметь только одну точку выхода, чтобы обеспечить выполнение некоторых вспомогательных действий перед своим завершением. Передавая управление хотя бы на метку подпрограммы выхода, можно гарантировать, что требуемые действия производятся всегда. Кроме того, по мере возрастания длины и сложности процедур данное правило приобретает все большее и большее значение.
Инструкция Exit используется для того, чтобы не выполнять подпрограмму обработки ошибки, если ошибка не возникла. Поскольку подпрограмма обработки является частью процедуры, то она будет исполняться если не выйти из макроса.
Инструкция Exit имеет пять форм, указывающих на блок, из которого требуется выйти:
Exit Sub
Exit Function
Exit Do
Exit For
Exit Property
В процедурах, в которых имеется подпрограмма обработки ошибки, обычно используются инструкции Exit Sub или Exit Function в зависимости от типа выполняемой процедуры.
Объект Err и подпрограмма обработки ошибки.
Во многих ситуациях имеется большое число потенциальных ошибок, а подпрограмма обработки должна выполнять определенные действия в зависимости от возникшей ошибки. С помощью объекта Err можно во время выполнения процедуры выявить тип ошибки. Обратите внимание, что если подпрограммы обработки не имеется, то выводится стандартное сообщение.
Объект Err - глобальный объект, который содержит информацию о последней возникшей ошибке. Подобно любому другому объекту он имеет свойства и методы. Используя свойства объекта Err и выполняя его методы можно сообщить подпрограмме обработки характер произошедшей ошибки.
Объект Err имеет шесть свойств:
- Свойство Number - номер возникшей ошибки.
- Свойство Source - имя проекта Visual Basic, в котором произошла ошибка.
- Свойство Description - строка, соответствующая номеру ошибки. Некоторые ошибки, включая заданные пользователем ошибки, не имеют описания и тогда строка имеет значение "Ошибка, определяемая приложением" или "Ошибка, определяемая объектом".
- Свойство HelpFile - полное имя файла справки Visual Basic, включая диск и путь.
- Свойство HelpContext - идентификационный номер в справке Visual Basic, соответствующий возникшей ошибке.
- Свойство LastDLLError содержит код системной ошибки для последнего вызова библиотеки динамической компоновки. Используется только в 32-разрядных системах Microsoft Windows и доступно только для чтения.
Обычно, чтобы произвести определенные действия в зависимости от типа возникшей ошибки, требуется просто проверить значение свойства Number. Для этого используется любая логическая инструкция, например, блок If..Else..End If или Select Case..End Select. Блок Select Case..End Select удобнее, т.к. в него проще добавить дополнительное условие.
Заданным по умолчанию свойством объекта Err является свойство Number, поэтому нижеприведенные инструкции эквивалентны:
Select Case Err.Number
Select Case Err
Использование полного синтаксиса упрощает понимание программы. Сокращенный синтаксис совместим только в одну сторону с предыдущими версиями Visual Basic и WordBasic, в которых вместо объекта Err применялась функция Err. Объект Err имеет два метода:
- Метод Raise позволяет генерировать ошибку во время выполнения программы. Данный метод используется для проверки подпрограммы обработки ошибки, которую требуется перехватить. Кроме того, с его помощью можно создать для приложения собственные ошибки, указав их номер и описание.
При задании собственных ошибок необходимо сложить номер ошибки с константой vbObjectError. Таким образом, можно гарантировать, что номер не совпадает с номером стандартной ошибки Visual Basic. Приведем пример, в котором создается новая ошибка:
Err.Raise vbObjectError + 1, "MyProject.MyObject", "Служащего с таким именем в данном отделе не имеется"
- Метод Clear сбрасывает значения всех свойств объекта Err. Данный метод используется после того, как обработана ошибка и необходимо продолжить выполнение.
Примечание.
В ранних версиях Visual Basic и других языках Basic для создания ошибок использовалась инструкция Error. В целях обеспечения инструкция Error имеется и в новом Visual Basic, однако, во всех вновь создаваемых программах рекомендуется применять объект Err.
4. Управляющие структуры VBA. IF . . . THEN, IF . . . THEN . . . ELSE, SELECT CASE
1 Конструкция If . . . Then
2 Конструкция If . . . Then . . . Else
3 Конструкция Select Case
Управляющие структуры позволяют управлять последовательностью выполнения программы. Без операторов управления все операторы программы будут выполняться слева направо и сверху вниз. Однако иногда требуется многократно выполнять некоторый набор инструкций автоматически, либо решить задачу по-другому в зависимости от значения переменных или параметров, заданных пользователем во время выполнения. Для этого служат конструкции управления и циклы.
VBA поддерживает следующие конструкции принятия решений:
If . . . Then
If . . . Then . . . Else
Select Case
4.1 Конструкция If . . . Then
Конструкция If . . . Then применяется, когда необходимо выполнить один или группу операторов в зависимости от некоторого условия. Синтаксис этой конструкции позволяет задавать ее в одной строке или в нескольких строках программы:
If условие Then выражение
If условие Then
выражение
End If
Обычно условие является простым сравнением, но оно может быть любым выражением с вычисляемым значением. Это значение интерпретируется как False (Ложь), если оно нулевое, а любое ненулевое рассматривается как True (Истина). Если условие истинно, то выполняются все выражения, стоящие после ключевого слова Then. Для условного выполнения одного оператора можно использовать как синтаксис для одной строки, так и синтаксис для нескольких строк (блоковую конструкцию).
Следующие два оператора эквивалентны:
If anyDate < Now Then anyDate = Now
If anyDate < Now Then
anyDate = Now
End If
Заметим, что синтаксис оператора If . . . Then для одной строки не использует оператор End If. Чтобы выполнить последовательность операторов, если условие истинно, следует использовать блоковую конструкцию If . . . Then . . . End If.
If anyDate < Now Then
...Подобные документы
Использование математических функций для алгоритмизации задач и отладки программ. Операторы сравнения и логические функции; реализация циклического процесса. Организация и обработка данных при помощи массивов. Функции преобразования и работы со строками.
методичка [135,5 K], добавлен 24.10.2012Разработка программ на языке Turbo Pascal на основе использования массивов данных. Особенности хранения данных, способы объявления переменных, действия над элементами массивов, их ввод и вывод. Практическое применение одномерных и многомерных массивов.
методичка [17,8 K], добавлен 25.11.2010Изучение составляющих этапов разработки программ, процесса их тестирования, отладки и документирования в контексте курса обучения начинающих программистов. Теоретический анализ постановки задачи и модели программы, создания текста, семантической отладки.
курсовая работа [29,2 K], добавлен 28.11.2010Обзор существующих моделей параллельного программирования, основные средства отладки эффективности MPI-программ, общие проблемы всех средств трассировки. Создание экспериментальной системы отладки эффективности MPI-программ, этапы работы анализатора.
дипломная работа [767,2 K], добавлен 14.10.2010Программирование линейных алгоритмов. Процедуры ввода READ и READLN и вывода WRITE и WRITELN. Примеры решения задач на языке Паскаль. Оператор присваивания и выражения. Основные способы формирования структурных операторов. Операторы вызова процедур.
курсовая работа [44,3 K], добавлен 18.03.2013Синтаксис языка РНР, его переменные и чувствительность их имен к регистру. Гибкость в отношении типов переменных, преобразование типов. Набор основных типов данных при работе с переменными. Методы передача переменных скрипту. Операторы цикла и выбора.
дипломная работа [27,3 K], добавлен 15.04.2009Средства интегрированной среды Microsoft Visual Studio, предоставляемые программисту для реализации программ на языке С++. Особенности стиля написания программ. Типовые приемы и методы создания и отладки программ. Листинги программ и их тестирование.
лабораторная работа [814,3 K], добавлен 26.05.2013Роль вычислительной техники в информационных системах. Компьютеризация учебного процесса. Технологичность программного обеспечения. Особенности отладки и испытания пpогpамм. Операторы языка СИ. Указатели и структуры данных. Основы доступа к файлам.
тезисы [603,6 K], добавлен 10.05.2015Модели параллельного программирования; отладка параллельных программ. Реализация экспериментальной версии системы сравнительной отладки Fortran-OpenMP программ: получение, сбор и запись трассы, инструментарий программ, используемый формат файлов трассы.
дипломная работа [92,8 K], добавлен 17.10.2013Отладка - процесс обнаружения, устранения синтаксических и семантических ошибок. Точки отслеживания (трассировки). Выполнение отладки в режиме останова. Мониторинг содержимого переменных. Пошаговое выполнение кода. Разработка тестов для отладки программы.
презентация [743,6 K], добавлен 09.12.2013Общая характеристика языков программирования. Описание языка Паскаль: основные субъекты языка; структура Паскаль-программы; типизация и объявление данных. Операторы присваивания и выражения. Структурные операторы, организация ветвлений и циклов.
дипломная работа [276,6 K], добавлен 26.01.2011Решение задач прикладного программирования. Оформление разработанных алгоритмов в виде графических схем. Написание программ с использованием подпрограмм, их отладка. Блок-схемы и листинг программ. Наборы тестов для отладки разработанных программ.
курсовая работа [575,8 K], добавлен 06.12.2013Рассмотрение совокупности программ и языковых средств (специальных языков описания и манипулирования данными), предназначенных для создания, ведения и использования баз данных. Определение языков общения. Исследование принципов построения банка данных.
реферат [56,9 K], добавлен 07.08.2017Понятие массива и правила описания массивов в программах на языке С. Рассмотрение основных алгоритмов обработки одномерных массивов. Примеры программ на языке С для всех рассмотренных алгоритмов. Примеры решения задач по обработке одномерных массивов.
учебное пособие [1,1 M], добавлен 22.02.2011Изучение и анализ функциональных возможностей СУБД. Структура языка реляционных БД SQL (Structured Query Language). Типы данных SQL. Операторы DDL - операторы определения объектов базы данных. Примеры использования операторов манипулирования данными.
курсовая работа [39,6 K], добавлен 21.07.2012Ознакомление со структурой, комментариями, переменными и типами данных, константами, перечислениями, преобразованием типов языка программирования высокого уровня С++. Ключевые понятия языка, идентификаторы, ключевые слова, функции, операторы, выражения.
контрольная работа [31,2 K], добавлен 12.12.2009Особенности использования переменных вещественного типа в программе. Основные виды типов данных: простые, структурированные, указатели, процедурные, объекты. Работа и структура оператора while. Характеристика основных отличий while от оператора repeat.
контрольная работа [31,4 K], добавлен 17.08.2010Решение задач, прямо связанных с применением циклов и массивов. Условия применения различных видов циклической структуры. Операторы цикла с предусловием while, постусловием do-while и for. Особенности работы с одномерными и двумерными массивами.
курсовая работа [1,1 M], добавлен 31.08.2019Пузырьковый алгоритм сортировки числовых данных, листинг программы. Основные типы данных и их представление в памяти компьютера. Логическая и физическая структура. Запись как структура данных в Паскале. Оператор присоединения, операции над множествами.
лабораторная работа [242,0 K], добавлен 30.09.2013Изучение понятия архивации, сжатия файлов с целью экономии памяти и размещения сжатых данных в одном архивном файле. Описания программ, выполняющих сжатие и восстановление сжатых файлов в первоначальном виде. Основные преимущества программ-упаковщиков.
контрольная работа [534,7 K], добавлен 11.01.2015