![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Решение. Идея алгоритма решения задачи несложная
Идея алгоритма решения задачи несложная. Сначала сравним между собой А с В и наибольшее значение сохраним во вспомогательную переменную М. Затем, если окажется, что С > Ad, то заменим значение М; в противном случае никаких действий предпринимать не нужно. Данная задача интересна тем, что в ней одновременно используются оба варианта развилки — полный и неполный. Блок-схема решения выглядит следующим образом. Схема Б
![]()
Здесь на схеме А изображен общий стратегический план решения задачи, а на схеме Б — его развернутая реализация. По-видимому, блок-схема достаточно наглядна и особых комментариев не требует. Хотелось бы все же обратить внимание читателей на одно важное в теоретическом плане обстоятельство: если не конкретизировать деталей анализа исходных чисел, то алгоритм на схеме А получается линейным, а вовсе не разветвляющимся, как следует из схемы Б. Практический вывод из этого факта хочется сделать такой: поскольку в чистом виде разветвляющийся алгоритм практически никогда не встречается, то лучше говорить не о типе всего алгоритма в целом, а о типе его отдельных элементов (частей). А вот как выглядит решение этой задачи на языке Паскаль: program maximum_3x (input, output); var a, b, с, m: real; Begin readin(a, b, c); if a > b then m: = a else m: = b; if с > m then m: = c; writeIn ('maximum’, m: 9: 4) End. Для демонстрации важности конструкции ветвления приведем еще несколько примеров. Прежде чем напечатать текст на бумаге, любой компьютер обязательно проверит, включено ли печатающее устройство и есть ли в нем бумага. Если хотя бы одно из условий не выполнено, то печать не производится, а вместо этого на экран выдается диагностическое сообщение. Многие теоремы представляют собой прекрасный пример ветвления, например, прочтите внимательно третий признак равенства треугольников: если все стороны одного треугольника соответственно равны сторонам другого треугольника, то такие треугольники равны. Те, кто предпочитает математике русский язык, могут вспомнить такое правило: если корень слова начинается со звонкой согласной, то на конце приставки пишется " з", а иначе — " с". В химии существует известный алгоритм, как по цвету лакмусовой бумажки определить свойства среды. Наконец, в учебнике [3] приводится множество забавных примеров с " если-то", заимствованных из книги Григория Остера " Вредные советы"; например, такой: Если друг на день рожденья Пригласил тебя к себе, То оставь подарок дома — Пригодится самому. Существует довольно большое количество алгоритмов, в которых приходится выбирать не из двух, а из нескольких вариантов. В таких случаях есть разные возможности построить алгоритм. Самая простая — составить комбинацию из нескольких ветвлений. Другой альтернативный способ состоит в том, чтобы использовать специальную команду, которая называется выбор. Последняя специально придумана для упрощения записи алгоритма в обсуждаемой ситуации. Синтаксис команды выбора описывать сейчас не будем, поскольку он выходит за рамки сформулированного вопроса и требует отдельного рассмотрения.
|