Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Решение. Идея алгоритма решения задачи несложная






Идея алгоритма решения задачи несложная. Снача­ла сравним между собой А с В и наибольшее значение сохраним во вспомогательную переменную М. Затем, если окажется, что С > 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] приводится множество забавных примеров с " если-то", заимствованных из книги Григория Остера " Вред­ные советы"; например, такой:

Если друг на день рожденья

Пригласил тебя к себе,

То оставь подарок дома —

Пригодится самому.

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






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.