- •14. Разветвляющиеся программы.
- •14.1. Условный оператор if.
- •If Условие then Оператор1 else Оператор2;
- •If Условие then Оператор;
- •If Условие then if ПодУсловие then ... Else ...
- •14.2. Случайные величины.
- •14.3. Логические операции и выражения.
- •Логические операции и таблицы истинности
- •15. Циклические программы.
- •15.1. Оператор перехода Go To.
- •15.2. Операторы цикла Do.
- •1. Бесконечный цикл
- •2. Со счетчиком
- •3. C предусловием
- •15.3. Оператор цикла For.
- •16. Массивы данных.
- •16.1. Использование массивов при программировании.
- •16.2. Рекурсия.
- •16.3. Сортировка.
- •17. Элементы управления.
- •17.5. Списки (ListBox, ComboBox, CheckedListBox).
- •18. Объектное программирование.
- •18.1. Статические и динамические компоненты объектов.
- •18.2. Поля и свойства объектов.
- •18.3. Конструкторы.
- •Конструктор по умолчанию
- •Конструктор копирования
- •Конструктор преобразования
- •18.4. Наследование.
- •Простое наследование
- •Множественное наследование
- •18.5. Полиморфизм.
- •10. Организация поточных процессов.
- •10.1. Особенности поточной формы организации процессов.
- •10.2. Основные параметры поточных линий.
- •10.3. Виды поточных линий.
- •5. По характеру движения конвейера.
- •6. По уровню механизации процессов различают автоматические и полуавтоматические поточные линии.
- •7. По степени охвата производства.
- •9.1. Структура и длительность цикла процесса
- •9.5. Длительность производственного цикла сложного процесса
- •7. Основы организации процессов.
- •7.1. Принципы организации процессов.
- •7.2. Типы операционных систем.
15. Циклические программы.
15.1. Оператор перехода Go To.
GOTO (англ. go to — «перейти к») — в некоторых языках программирования — оператор безусловного перехода (перехода к определённой точке программы, обозначенной номером строки либо меткой). В более широком смысле, под «GOTO» подразумевают любой такой оператор, даже если в рассматриваемом языке он называется по-другому. В компилируемых языках GOTO можно рассматривать как основную операцию по передаче управления из одной части программы в другую, поскольку компилятор переводит все остальные операторы перехода в форму, аналогичную GOTO.
В абсолютном большинстве языков программирования, поддерживающих его использование, оператор GOTO состоит из двух частей: собственно имени оператора и метки, маркирующей целевую точку перехода в программе, то есть имеет вид GOTO метка. Метка, в зависимости от правил языка, может быть либо числом (как, например, в классическом Бейсике), либо правильным идентификатором используемого языка программирования. Чтобы оператор перехода был корректным, необходимо наличие в тексте программы места, помеченного той же самой меткой, которая использована в данном операторе. Пометка может выглядеть по-разному, например, в языке Паскаль она имеет вид label: (то есть имя метки, за которым следует двоеточие), возможны и другие соглашения.
Выполнение оператора перехода состоит в том, что следующим после него будет выполнен тот оператор программы, который стоит в тексте непосредственно за помеченным меткой местом (оператор, помеченный меткой), и далее будут последовательно выполняться операторы, расположенные после него (разумеется, до следующего оператора перехода, ветвления или цикла). В случае машинных языков (ассемблеров или непосредственно машинного кода) технический смысл команды перехода элементарен: она записывает в регистр процессора, хранящий адрес следующей выполняемой команды, адрес команды, помеченной меткой.
15.2. Операторы цикла Do.
Конструкция DO управляет повторяющимся выполнением блока операторов или конструкций.
Существует 3 формы конструкции do:
1. Бесконечный цикл
do
[операторы]
end do
2. Со счетчиком
do v=exp1,exp2[,exp3]
[операторы]
end do
3. C предусловием
do while (logical_expr)
[операторы]
end do
15.3. Оператор цикла For.
Оператор цикла с параметром вводится для организации “строгих” циклов, которые должны быть проделаны заданное число раз. Кроме того, циклы с параметром позволяют организовать автоматическое изменение значения некоторой переменной в определенном диапазоне.
Синтаксис оператора FOR:
FOR ПараметрЦикла := МладшееЗначение TO СтаршееЗначение DO Оператор;
или
FOR ПараметрЦикла := СтаршееЗначение DOWNTO МладшееЗначение DO Оператор;
Оператор, представляющий собой тело цикла, может быть как простым, так и составным. Параметр цикла, а также диапазон его значений (от стартового до конечного включительно) может быть только порядкового (целочисленного. символьного, логического) или перечислимого типа! Параметр цикла это обычная переменная, описанная в текущем блоке. Шаг изменения значения параметра цикла всегда постоянный (в случае целочисленного типа равен единице).
Изменение параметра цикла может быть как возрастающим, так и убывающим. В первом случае МладшееЗначение должно быть больше чем Старшее, а во втором – наоборот.
На месте младших и старших значений могут стоять константы, а могут и переменные или выражения, совместимые по присваиванию с параметром цикла.
Выполнение цикла начинается с присваивания параметру стартового значения. Затем следует проверка, не превосходит ли параметр конечное значение (случай с TO) или не является ли он меньше конечного значения (случай с DOWNTO). Если результат проверки утвердительный, то цикл считается завершенным. В противном случае выполняется тело цикла (оператор, следующий за словом DO), и после этого параметр цикла меняет свое значение на следующее. Далее снова производится проверка значения параметра цикла, т.е. алгоритм повторяется.
Запрещается изменять параметр цикла и его старшее и младшее значения внутри тела цикла. Кроме того, параметр цикла не может участвовать в построении диапазонов этого же цикла.