- •Основы алгоритмических языков программирования Понятие о языках программирования. Современные языки программирования высокого уровня
- •Лексические единицы языков программирования
- •Интегрированные среды разработки программ
- •История развития технологии vba
- •Интегрированная среда разработки vba
- •Составные части vba-проекта. Добавление пользовательского кода
- •Вывод отладочных сообщений. Пошаговое выполнение и инструменты отладки
- •Концепция памяти. Переменные и их декларация в языках программирования
- •Управляющие структуры выбора
- •Структурные операторы в алгоритмических языках программирования
- •Данная логическая операция имеет следующую таблицу истинности, в которой «0» соответствует значению false, а «1» – true (табл 1).
- •Остальные логические операторы являются двухоперандными. Операция логического умножения and имеет следующую таблицу истинности (табл 2):
- •Наконец операция логического исключающего или представляется следующей таблицей истинности (табл 4):
- •Реализация управляющих структур выбора в vb
- •Циклические управляющие структуры
- •Реализация циклических управляющих структур в vb
- •Цикл с постусловием имеет похожий синтаксис:
- •Основные положения процедурного программирования
- •Реализация процедурного программирования в Visual Basic
- •Фундаментальные структуры данных
- •Массивы в vb
- •Агрегация разнородных типов. Структурные типы данных
- •Тип данных определяемый пользователем в vb
- •Основы объектно-ориентированного программирования
- •Реализация основных идей объектно-ориентированного программирования в языке vb. Поля и методы. Конструирование объекта класса. Адресная природа объекта класса
- •Свойства и события в vb. Связь объекта класса и его клиентов
- •Интерфейс класса в vb и его наследование
Структурные операторы в алгоритмических языках программирования
Программная логика всех языков программирования строится таким образом, что выполнение программы происходит «слева направо» при обработке выражений и операторов в строках программы и «сверху вниз» по ходу строк программы. Тогда как простейшие программы могут быть написаны с использованием такого однонаправленного последовательного выполнения, то большинство сложных реальных программ и алгоритмов требует возможности изменения порядка следования операторов с помощью специальных программных управляющих структур(сontrol structures) – операторов управления потоком программы. Как уже упоминалось, теоретический анализ ЯП показывает, что любой сколь угодно сложный алгоритм программы может быть реализован с помощью трех фундаментальных управляющих структур:
управляющая структура следованияили так называемый линейный алгоритм. Этой структуре соответствует естественный порядок однонаправленного исполнения;
управляющая структура ветвления(decision structure) или структура выбора, которой соответствует такой порядок выполнения операторов, при котором в зависимости от условия (некоторого логического выражения) блок операторов может, быть либо выполнен, либо нет;
управляющая структура повторения (loop structure), которой соответствует такой порядок выполнения операторов, при котором блок операторов может быть повторно выполнен некоторое количество раз в зависимости от некоторого условия или состоянияпеременной-счетчика цикла (loop counter).
Основным признаком структурного оператора является возможность размещать внутри себя другие операторы (отсюда и такое название – структурный). Простейшим структурным оператором является составнойоператор (compound) или так называемыеоператорные скобки(statementbrackets).
В языках C/C++ иOPдекларируется, что в том месте, где может быть поставлен одиночный оператор, может быть поставлен и операторный блок, состоящий из операторных скобок и расположенных внутри них других операторов. Такой операторный блок может рассматриваться как неделимое целое со сложной внутренней структурой. Операторный блок вC/C++ ограничивается фигурными скобками «{ }», между которыми находится последовательность одиночных операторов:
{
int x;
double y;
x = 1;
y = 0.1;
x = x + y; y = y + 0.1;
};
Операторные скобки в OP реализованы с помощью ключевых слов BEGINиEND, которые открывают и закрывают операторный блок:
begin
x := 1;
y := 0.1;
x := x + y; y := y + 0.1;
end;
Операторные скобки могут быть вложены одна в другую:
begin
x := 1;
begin
y := 2;
end;
end;
причем в С/С++ операторные скобки ограничивают область видимости переменных. Так, в следующем примере показаны вложенные операторные скобки с объявлением двух различных, но одноименных переменных:
{
int x = 1;
{
int x = 2; // это другая переменная х
}
}
Управляющие структуры выбора
Основным элементом любого оператора ветвления, реализующего структуру выбора, является логическое выражение, которое строится с использованием операторов сравнения (relational operators) и логических операторов (logic operators). Во всех ЯП определен схожий набор операторов сравнения и логических операторов. К основным из них относятся операторы сравнения:
равенство – =;
неравенство – <>;
меньше – <;
больше – >;
меньше или равно – <=;
больше или равно – > =.
Во всех выражениях с использованием операторов сравнения участвует два операнда и результатом такого выражения является значение логического(булевского) типа, т.е истина или ложь. В следующем примере переменной логического типаbRes присваивается значениеFALSE соответствующее ложному результату выполнения оператора сравнения:
x = 10
bRes = x < 10
Истинное значение булевского типа в ЯП обозначается ключевым словом TRUE, а ложное –FALSE.
К выражениям и переменным, возвращающим логическое значение применимы логические операторы:
NOT – логическое отрицание;
AND – логическое умножение;
OR – логическое сложение;
XOR– логическое сложение по модулю 2 (исключающее ИЛИ);
Оператор NOT является однооперандным оператором, изменяющим значение логического выражения на противоположное. В следующем примере булевская переменная принимает значение FALSE:
x := 100;
bSwitch := not (x < 10);
