Алгоритмы ветвления.ppt
- Количество слайдов: 15
Алгоритмы ветвления Система программирования Pascal. ABC
Ветвление – разделение алгоритма на два пути (две ветви) по некоторому условию с дальнейшим выходом на общее продолжение Да Серия 1 Условие Нет Серия 2 Полное ветвление Да Условие Нет Серия Неполное ветвление
В Турбо Паскале имеются специальные конструкции, которые позволяют реализовать команды ветвления и выбора. Эти конструкции называются: • Оператор условного перехода (условный оператор), • Оператор выбора.
Оператор условного перехода (условный оператор) если тогда иначе Конец ветвления if <условие> then <оператор 1> else <оператор 2>; • Условие – логическое выражение, которое может быть истинным или ложным. • оператор 1, оператор 2 – какой-либо оператор, в том числе и составной оператор, т. е. несколько операторов, объединенных операторными скобками begin end.
Логическая операция = <> Наименование Равно Неравно > больше < Меньше >= Больше или равно <= Меньше или равно And Or Not Логическое И (логическое умножение, конъюнкция) Логическое ИЛИ (логическое сложение, дизъюнкция) Логическое НЕ
Записать условие на языке Паскаль: 0 ≤ X ≤ 10 1. Разбиваем сложное условие (сравнение более чем двух величин) на простые: 0≤X, X≤ 10. 2. Связываем их логически: 0≤X и X≤ 10. 3. Записываем языком Паскаль: (0<=X) and (X<=10)
Пример использования составного оператора: If a<c then begin a: = c - a; k: = k +1; end else begin c: = a - c; l: = l +1; end;
Полное ветвление Да Серия 1 если тогда Условие Нет Серия 2 иначе if <условие> then <оператор 1> else <оператор 2>;
Неполное ветвление Да Условие Нет Серия если тогда if <условие> then <оператор 1> ;
Например: из двух чисел вывести на экран значение большего числа. Да A A>B Нет B if a > b then writeln (‘большее число a - ’, a) else writeln (‘большее число b - ’, b);
Вложенные условные операторы Возможно использование в качестве оператор1 или оператор 2 других условных операторов: Да Нет Условие 1 Да Серия 1 Условие 2 Нет Серия 2 if <условие 1> then if <условие 2> then <оператор1> else <оператор2>;
Написать программу, которая проверяет, является ли четным введенное с клавиатуры целое число Uses crt; Var n: integer; Begin clrscr; writeln(‘введите целое число: ’); readln(n); if n mod 2=0 then writeln(‘число четное’) else writeln(‘число нечетное’); End.
Задача. Развивая предельно возможную скорость своего движения, жираф пробегает за 23 с 335, 8 м. Заяц пробегает за 55 с 918, 5 м. Кому из этих животных вы присвоите звание чемпиона, сопоставляя их скорости? Ввести показатели жирафа и зайца t 1, s 1, t 2, s 2 Выполнить вычисления: v 1=s 1/t 1 v 2=s 2/t 2 Если v 1=v 2 - победила дружба Если v 1>v 2 - жираф чемпион, иначе - заяц чемпион Алгоритм решения задачи в виде блок-схемы приведен. Программу составить самостоятельно.
Начало Введите показатели жирафа и зайца t 1, s 1, t 2, s 2 v 1=s 1/t 1 v 2=s 2/t 2 да нет v 1=v 2 да Победила дружба Жираф чемпион конец нет v 1>v 2 Заяц чемпион
Uses crt; Var t 1, t 2, v 1, v 2, s 1, s 2: real; Begin clrscr; writeln(‘Введите показатели жирафа и зайца – t 1, s 1, t 2, s 2‘); readln(t 1, s 1, t 2, s 2); v 1: =s 1/t 1; v 2: =s 2/t 2; if v 1=v 2 then writeln(‘Победила дружба’) else if v 1>v 2 then writeln(‘Жираф – чемпион!’) else writeln(‘Заяц – чемпион!’); readln; End.
Алгоритмы ветвления.ppt