Блок схема типа треугольника

Определить возможность существования треугольника по сторонам

Задача

Треугольник существует только тогда, когда сумма любых двух его сторон больше третьей.

Дано: a , b , c – стороны предполагаемого треугольника.

Требуется сравнить длину каждого отрезка-стороны с суммой двух других. Если хотя бы в одном случае отрезок окажется больше суммы двух других, то треугольника с такими сторонами не существует.

Решение

Ниже приведены решения задачи на языке программирования Паскаль двумя способами. В первом случае все стороны проверяются в одном операторе if; во втором случае каждое условие проверяется отдельно, а программа содержит вложенные операторы if-else.

Программа 1 (предпочтительный способ решения):

В языке Паскаль логический оператор and имеет приоритет над операторам >, if проверяется, что каждая из сторон меньше суммы других. Если хотя бы одна будет больше, то все логическое выражение вернет ложь ( false ). В таком случае сработает ветка else .

В данном случае существование треугольника проверяется по-этапно. Если первое условие возвращает ложь, то программа переходит к последнему else. Если же первое условие соблюдено, то поток выполнения программы оказывается у вложенного if. Здесь проверяется уже второе условие. Если оно возвращает ложь, то программа переходит к предпоследнему else. Если и второе логическое выражение возвращает истину (true), то программа идет к третьему условию. При его соблюдении выполняется тело самого вложенного оператора if. При его несоблюдении сработает самое вложенное else.

Несмотря на то, что данная программа кажется длиннее, в определенных ситуациях она может выполняться быстрее, чем первая. Здесь если внешнее if возвращает ложь, то остальные логические выражения вообще не проверяются. В первой программе могут и проверяться (это зависит от особенностей языка программирования).

Блок схема типа треугольника

Кроме оператора if в языке программирования Паскаль предусмотрен так называемый переключатель Case — оператор выбора. Его можно трактовать как некий вопрос, имеющий большое число ответов (а не только два, как это имеет место в операторе if-else). Однако в отличие от if, Case имеет ряд принципиальных ограничений.

Case выражение of

значение1: оператор1;
значение2: оператор2;
значение3: оператор3;
..
else операторN
end;

Блок схема типа треугольника

Значение «выражения» и значения констант («значение1» и т.д.) должны быть порядкового типа.
Выполнение оператора Case:
В заголовке оператора case вместо логического выражения фигурирует переменная или выражение порядкового типа, которую называют селектором. До этого в программе ей присваивается какое-либо значение. По ходу выполнения оператора case, значение переменной-селектора (значение выражения) сравнивается с различными, описанными в нем альтернативами (метками-значениями). Как только совпадение будет найдено, то выполняется блок кода при данной метке и происходит выход в основную ветку программы. Значения-метки являются константами, которые может принимать селектор. Их тип и тип селектора должны быть совместимы по присваиванию.

Если совпадений не будет, то выполняется блок else. Если блок else отсутствует (он является не обязательным), то никакой блок кода в операторе case не выполняется.
Если для разных переменных-селекторов требуется выполнить один и тот же оператор, то можно эти константы перечислить через запятую и после двоеточия указать этот оператор.
Пример 1:

Блок схема типа треугольника

6.2. ОСНОВНЫЕ ТИПЫ ВЫЧИСЛИТЕЛЬНЫХ АЛГОРИТМОВ

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

Пример . Вычисление площади треугольника по трем сторонам a , b , c по формуле Герона:

Блок схема типа треугольника , где

Блок схема типа треугольника

Блок-схема алгоритма имеет вид:

Блок схема типа треугольника

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

Пример. Нахождение действительных корней квадратного уравнения

Блок-схема алгоритма имеет вид:

Блок схема типа треугольника

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

Пример . Вычисление факториала натурального числа

Поделиться или сохранить к себе: