Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Приклад алгоритму із розгалудженням




Постановка задачі: знайти найменше з трьох заданих чисел a, b і c.

Вхідними даними є числа a, b і c, вихідними - найменше число з них.

 

Розв'язання:

На цій нескладній задачі проілюструємо відзнаку між механізмами розв'язання, використовуваними людиною та ЕОМ. Уявимо ситуацію, коли всі три числа записані на аркуші паперу і показані людині. Мозок людини є паралельною обчислювальною системою з величезною кількістю "процесорів", тому для нього не буде складно миттєво зафіксувати у зоровій пам'яті всі три числа, оцінити їх співвідношення і через долю секунди визначити найменше або найбільше число. Із значним спрощенням можна сказати, що алгоритм, за яким працює мозок при розв'язанні даної задачі, полягає в перевірці умови

 

((a < b) і (a < c)) або ((b < a) і (b < c)) або ((c < a) і (c < b)), (2.13)

причому всі складові цієї умови обробляються немов би водночас. Зрозуміло, що на відміну від людини, ЕОМ в кожен момент часу може оперувати із суворо обмеженою кількістю даних, тому подібний алгоритм для ЕОМ є непридатним. В той же час, якщо кількість чисел, серед яких треба знайти найменше, збільшити до ста або, навіть, тисячі, то виконавець-людина втратить спроможність «охопити» їх разом і також буде вимушений виконувати обробку послідовно, застосовуючи алгоритм «машинного» виду.

Наведений приклад показує, що алгоритм, розрахований на виконання послідовною ЕОМ, повинен орієнтуватись на послідовну обробку даних, здійснення руху до розв’язку крок за кроком.

Алгоритм розв’язання задачі в текстовому вигляді побудуємо наступним

чином:

- ввести a, b, c;

- якщо a < b:

· якщо a < c вивести a; o інакше вивести c;

- інакше:

· якщо b < c вивести b; o інакше вивести c.

- завершення алгоритму.

Після закінчення «першого раунду» – перевірки умови a < b – стає відомо, яке з цих двох чисел «претендує» називатись найменшим. Якщо таким є число a, то залишається порівняти його з числом c для здійснення кінцевого висновку. Аналогічне порівняння необхідно виконати, якщо меншим виявилось число b. Випадок, коли будь-яка пара чисел співпадає в даному алгоритмі не розглядається.

Зауважимо, що попарне порівняння чисел можна здійснювати у довільному порядку, наприклад, спочатку порівняти b і c, а потім, за результатами цього порівняння – b і a або c і a.

Схема алгоритму представлена на наступному рис. 2.10.

 

Рис. 2.10 – Схема алгоритму розв’язання задачі про найменше з трьох чисел

 

 




Поделиться с друзьями:


Дата добавления: 2014-11-08; Просмотров: 644; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.