- •21) Логическое выражение:
- •22) Алгоритмизация разветвляющихся Алгоритмов
- •23) Составной и пустой операторы
- •25) Оператор выбора
- •24) Условный оператор
- •26) Визуальный компонент класса tCheckBox
- •27) Форматный вывод
- •28) Алгоритмизация циклических действий
- •29) Оператор цикла While
- •30) Оператор цикла Repeat
- •32) Визуальный компонент StringGrid
- •31) Табулирование функции
- •35) Простейшие приемы обработки одномерных массивов: нахождение среднего арифметического и произведения чисел
- •38) Двумерный массив. Элементы матрицы
- •33) Одномерный массив
- •A: array [1..10] of integer; Основные задачи при работе с массивами
- •Действия с одномерными массивами
- •3. Применение умений и навыков на практике
- •37) Формирования нового массива на базе элементов исходного массива
- •39) Организация поиска информации во всей матрице
23) Составной и пустой операторы
Составной оператор - это последовательность произвольных операторов программы, заключенная в операторные скобки - зарезервированные слова begin ... end. Составные операторы - важный инструмент Object Pascal, дающий возможность писать программы по современной технологии структурного программирования (без операторов перехода goto).
Object Pascal не накладывает никаких ограничений на характер операторов, входящих в составной оператор. Среди них могут быть и другие составные операторы - язык Object Pascal допускает произвольную глубину их вложенности:
Функция Trim не определена в версии 1. Вместо указанной единственной строки в этом случае
следует написать:[while post' ', edinput.Text)>0 do
system.delete(edinput.Text, post' ', edinput.Text), 1);
StrToint(edinput.Text);]
begin
begin
begin
end;
end;
end;
Фактически весь раздел операторов, обрамленный словами begin ... end, представляет собой один составной оператор. Поскольку зарезервированное слово end является закрывающей операторной скобкой, оно одновременно указывает и конец предыдущего оператора, поэтому ставить перед ним символ “;” необязательно. Наличие точки с запятой перед end в предыдущих примерах означало, что между последним оператором и операторной скобкой end располагается пустой оператор. Пустой оператор не содержит никаких действий, просто в программу добавляется лишняя точка с запятой. В основном пустой оператор используется для передачи управления в конец составного оператора: как и любой другой, пустой оператор может быть помечен, и ему можно передать управление.
25) Оператор выбора
Оператор выбора позволяет выбрать одно из нескольких возможных продолжений программы. Параметром, по которому осуществляется выбор, служит ключ выбора -выражение любого порядкового типа (из уже рассмотренных к порядковым относятся integer, char и логический; описание остальных порядковых типов см. в гл. 7).
Структура оператора выбора такова:
case <ключ_выбора> of <список_выбора> [else<операторы>] end;
Здесь case, of, else, end - зарезервированные слова (случай, из, иначе, конец); <ключ_выбора> - ключ выбора (выражение порядкового типа); <список_выбора> - одна или более конструкций вида:
<константа_выбора> : <оператор>;
<константа_выбора> - константа того же типа, что и выражение <ключ_выбора>; <оператор> - произвольный оператор Object Pascal.
Оператор выбора работает следующим образом. Вначале вычисляется значение выражения <ключ_выбора>, а затем в последовательности операторов <список_выбора> отыскивается такой, которому предшествует константа, равная вычисленному значению. Найденный оператор выполняется, после чего оператор выбора завершает свою работу. Если в списке выбора не будет найдена константа, соответствующая вычисленному значению ключа выбора, управление передается операторам, стоящим за словом else. Часть else <операторы> можно опускать. Тогда при отсутствии в списке выбора нужной константы ничего не произойдет, и оператор выбора просто завершит свою работу.
Любому из операторов списка выбора может предшествовать не одна, а несколько констант выбора, разделенных запятыми. Например:
var
ch : Char;
begin
case ch of
'n','N','H','H': IbOutput.Caption := 'Нет';
'у','Y','д','Д': IbOutput.Caption := 'Да';
end
end;