Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка-ПРОГРАММИРОВАНИЕ -DELPHI 2007.doc
Скачиваний:
7
Добавлен:
12.11.2019
Размер:
2.04 Mб
Скачать

Раздел 3. Программирование

РАЗВЕТВЛЕННЫХ АЛГОРИТМОВ

В СИСТЕМЕ DELPHI

3.1. Вводные замечания

В данном разделе изучаются логические операции, условные операторы, составной оператор и оператор выбора, а также осуще­ствляется приобретение навыков программирования разветвлен­ных алгоритмов.

3.2. Основные понятия

Составной оператор представляет собой группу операторов, отделенных друг от друга точкой с запятой и ограниченную опера­торными скобками begin и end.

Пример:

begin

оператор 1; оператор 2;

оператор n; end; Пример:

begin

а:=а+12; с:=а*b+2; end;

Составной оператор воспринимается как единое целое и мо­жет находится в любом месте программы.

В языке Delphi имеются две формы условного оператора: полный и неполный.

Полный условный оператор

Ключевые слова if, then, else означают, соответственно, «ес­ли», «то», «иначе». Условие - выражение булевского типа. При записи условия могут использоваться операции отношения =, <>,

>, >= <, <= и логические операции and, or, not,xor

Рис. 3.1. Блок-схема алгоритма полного условного оператора

Здесь si, s2 - один простой или составной оператор.

Если после ключевых слов then или else следует выполнить не один, а несколько операторов, то необходимо использовать состав­ной оператор.

Приоритеты выполнения операций:

not,

* , /, div , mod, and;

+, -, or , xor ;

4) >, >= ,< ,<=, = ,<>.

Результатом вычисления условия может являться истина (true) или ложь (false). Если условие истинно, то выполняется опе­ратор si, иначе - оператор s2.

Пример:

а:=1; b:=2; с:=0; if a>b then с:=а else c:=b;

Так как выражение а>b ложно, то будет выполнятся оператор после else, т.е. с:=b.

Неполный условный оператор

Рис. 3.2. Блок-схема алгоритма неполного условного оператора

Если результат вычисления условия - истина, то выполняется оператор s1. Если ложь, то выполняется оператор, непосредственно следующий за условным оператором //

Пример:

а:=2; b:=8; с:=0;

if a>b then:=a+b;

с:=с+12;

Результатом выполнения данного примера будет с=12, так как выражение а>b ложно и оператор с:=а+b не будет выполняться. Если после ключевого слова then следует выполнить не один, а несколько операторов, то необходимо использовать составной оператор.

Оператор выбора Case

Оператор выбора Case является обобщением оператора if и позволяет сделать выбор из произвольного числа вариантов.

Case <выражение - селектор>оf

<список1>:<оператор1>; <список2>:<оператор2>;

<cписокN>:<onepaтopN> else <оператор> end;

Оператор Case работает следующим образом. Сначала вычис­ляется значение выражения - селектора, затем обеспечивается реа­лизация того оператора, константа выбора которого равна текуще­му значению селектора. Если ни одна из констант не равна теку­щему значению селектора, выполняется оператор, стоящий за сло­вом else. Слово else может отсутствовать. Если слово else отсутст­вует, то активизируется оператор, стоящий непосредственно за словом end, т.е. первый оператор за границей Case. Селектор не может иметь вещественный тип. Тип констант в любом случае должен совпадать с типом селектора.

Примеры записи оператора Case

1) Селектор целочисленного типа.

Case k of

l:z:=k+10;

2:z:=k+100;

3..9:z:=k+1000

end;

2) Селектор символьного типа.

Case n of

'A', 'a': label1.Caption:='ap6y3;

4B', 'в': 1аbе11.Cарtion:='вишня';

'С, 'с': labell.Caption:='слива';

else label 1.Cарtiоn:='ошибка ввода'

end;

3.3.1. Разработка алгоритма

Входные данные

х - действительная переменная. Выходные данные

F - действительная переменная. Промежуточные данные

В данной программе промежуточные данные не используются.