Алгоритмы разветвленной структуры применяются, когда в зависимости от некоторого условия необходимо выполнить либо одно, либо другое действие.
Условный оператор, соответствующий приведенной блок-схеме, имеет вид:
if условие then
оператор_1
else
оператор_2;
Работа условного оператора организована следующим образом. Сначала вычисляется выражение, записанное в условии. Если оно имеет значение истина (True), то выполняется оператор_1. В противном случае, когда выражение имеет значение ложь (False), оператор_1 игнорируется и управление передается оператору_2.
Если в задаче требуется, чтобы в зависимости от значения условия выполнялся не один оператор, а несколько, их необходимо заключать в операторные скобки как составной оператор:
if условие then
begin
оператор_1;
оператор_2;
…
end
else
begin
оператор_1;
оператор_2;
…
end;
Если в зависимости от условия выполняется действие, а в противном случае ничего не происходит, то алгоритм имет вид:
Условный оператор в этом случаеимет конструкцию:
if условие then оператор;
или
if условие then
begin
оператор_1;
оператор_2;
…
end;
В таком «усеченном» виде условный оператор работает так: оператор (группа операторов) либо выполняется, либо пропускается, в зависимости от значения выражения, представляющего условие.
Условные операторы могут быть вложены друг в друга. При вложениях условных операторов всегда действует правило: альтернатива else считается принадлежащей ближайшему if, имеющему ветвь else. Например, в записи
if условие_1 then
if условие_2 then
оператор_А
else оператор_Б;
оператор_Б относится к условию_2, а в конструкции
if условие_1 then
begin
if условие_2 then
оператор_А;
end
else оператор_Б;
он принадлежит оператору if с условием_1.
Для сравнения переменных в условных выражениях применяют операции отношения: =, <>, <, >, <=, >=. Условные выражения составляют с использованием логических операций and, or и not. В языке Pascal приоритет операций отношения меньше, чем у логических операций, поэтому составные части сложного логического выражения заключают в скобки.
Допустим, нужно проверить, принадлежит ли переменная х интервалу [a, b].
Условный оператор будет иметь вид:
if (x>=a) and (x<=b) then….
Запись
if x>=a and x<=b then…
не верна, так как фактически будет вычисляться значение выражения
x>= (a and x) <=b.
ЗАДАЧА 1. Дано вещественное число x. Для функции, график которой приведен ниже, вычислить y=f(x).
Аналитическая запись функции:
Словесный алгоритм:
1. Начало алгоритма.
2. Ввод числа x (аргумент функции).
3. Если значение x меньше либо равно -2, то переход к п. 4, иначе переход к п. 5.
4. Вычисление значения функции: y=4, переход к п. 8.
5. Если значение x больше либо равно 1, то переход к п. 6, иначе переход к п. 7.
6. Вычисление значения функции: y=1, переход к п. 8.
7. Вычисление значения функции: y=x2.
8. Вывод значений аргумента x и функции y.
9. Конец алгоритма.
Компонент TImage позволяет отобразить на форме графический файл с расширениями BMP, JPG, JPEG или WMF.
Некоторые свойства компонента Image1:
• AutoSize: – если значение свойства True, то размеры компонента настраиваются (увеличиваются или уменьшаются) по размерам загружаемого рисунка;
• Stretch: – если это свойство установлено в значение True, то будут изменяться размеры изображения, в этом случае оно как бы «натягивается» на клиентскую область;
• Center: – если это свойство установлено в значение True, изображение центрируется в пределах клиентской области, иначе оно располагается в ее верхнем левом углу.