Четверг, 21.11.2024, 09:25
Главная | Регистрация | Вход Приветствую Вас Гость | RSS


Меню сайта


Статистика

Онлайн всего: 2
Гостей: 2
Пользователей: 0


Тестування онлайн
тестування онлайн 


Социальные закладк

Ветвление в алгоритмах и программах

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

Как сравнивают значения величин в программах?

  1. Простые высказывания в языках программирования можно записать в виде логических выражений с использованием операций сравнения. (Логическая переменная - это переменная, которая может принимать только значение true или false)
  2. Результатом выполнения операции сравнения значений двух величин есть величина логического типа, которая может принимать одного из двух значений: true, false.
  3. Для описания логических величин в языке программирования Object Pascal - тип boolean

Сравнение значений величин различных типов имеет определенные особенности:

  1. Числовые величины сравниваются по правилам математики.
 
 2.
Сравнение текстовых величин языке Object Pascal, в результате которого получено логическое значение True, продемонстрировано ниже:
           "Алгоритм" < "алгоритм" - код большой буквы А меньше код буквы а;
           "Алгоритм"> "АГО" - длина первой величины больше длины второй;
           "Алгоритм" <> 'alhoritm'.

   3Для логических величин:
                      а = True,  b = False
  Результатом выполнения операции: а> b будет значение True поскольку:
    истинное значение True интерпретируется как
1, а ложное False0,       понятно, что 1> 0

4. Кроме операций сравнения над логическими величинами во всех языках программирования для записи составленных высказываний используют логические операции:

  • отрицание;
  • конъюнкция;
  • дизъюнкция.

Результаты выполнения этих операций над переменными А и В логического типа, принимают значения True (1) и False (0) приведены в таблице истинности

  • Чтобы определить значения составного логического выражения, содержащего несколько логических операций, используют таблицу истинности и учитывают приоритет выполнения операций:    not,  and,  or.
  • Как и для числовых выражений, для изменения порядка выполнения логических операций используют скобки.

Ветвление в  языке программирования Object Pascal

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

Для описания алгоритмической структуры ветвления на языке программирования используют:

 1. Оператор полного ветвления: if <логическое выражение> then <команда 1> else <команда 2>;
Если в качестве оператора должна выполняться серия операторов, то они объединяются в операторные скобки Begin-End.

If условие then
 
  Begin
    [Оператори1]
   
End
Else
   
begin
    [Оператори2]
 
 End;

 

 2. Оператор неполного ветвления: if <логическое выражение> then <команда>;
 Команда или блок команд в операторе неполного ветвления будет выполняться только в случае, когда логическое выражение принимает значение True.
В операторе неполного ветвления на языке программирования Object Pascal после служебного слова then можно записать только одну команду или блок команд, которые ограничены операторных скобками begin, end.

begin
<Команда 1>;
<Команда 2>;
...
<Команда n>;

end;

Замечания.

  1. Перед ключевым словом else (иначе) точка с запятой не ставится, она ставится после всего оператора If.
  2. Условие является логическим выражением.
  •  Простые условия записываются в виде равенств или неравенств.
  •  В сложных условиях несколько простых условий объединяются с помощью логических операций or, and ... В этом случае простые условия заключаются в круглые скобки

 3. Если есть необходимость учесть значения нескольких логических выражений, то используют вложенные ветвления.

 if <логическое выражение 1> then <команда 1>
 elseif <логическое выражение
2> then <команда 2>
 ...
 elseif <логическое выражение
n> then <команда n>
 else <команда иначе>
;

В описанных вложенных разветвлениях:
   
  Если значение логического выражения 1- True, то  выполняется команда 1 или блок команд 1.
    Если значение логического выражения 1 - False и значение логического выражения 2 - True, то выполняется команда 2 или блок команд 2 и т.д.
  В противном случае выполняется
команда иначе или блок команд иначе.

Обращаем ваше внимание:

  •  если после ключевых слов Then и Else следуют только по одной команде, то операторные скобки begin и end можно не ставить;

  • перед Else , Elseif ставить точку с запятой нельзя.

 

Задание. Разработайте проект в среде Lazarus, в котором по введенным значением температуры воды будет определяться ее агрегатное состояние.

Алгоритм проекта

1. Откройте среду Lazarus, создайте новый проект и сохраните его составляющие в папке проекта.

2. Измените свойства объекта Form1, разместите на форме нужные объекты и предоставьте значений их свойствам, чтобы получить форму например,  как на рисунке.

Примите во внимание, что для всех объектов используется свойство шрифта - ArialUnicode MS, размер - 16. Стиль шрифта определите по рисунку.

3. Создайте процедуру обработки события нажатия кнопки Пуск. В окне редактора кода введите код.

procedure TForm1.Button1Click(Sender: TObject);
   var t: integer;
begin
   t := strtoint(edit1.text);
 
 if t<0 then label2.Caption := 'агрегатное состояние - лед'
   
elseif t>100 then label2.Caption := 'агрегатное состояние - пар'
 
 else label2.Caption := 'агрегатное состояние - жидкость';

end;     

Примеры.Алгоритмы с ветвлением 

Форма входа
Поиск
Календарь
«  Ноябрь 2024  »
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
252627282930
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

  • Рейтинг@Mail.ru
    Copyright MyCorp © 2024
    Конструктор сайтов - uCoz