Непейвода Н.Н. Программирование. Раздел 3

Непейвода Н.Н. Программирование. Страница 361

8.6.3. Пример использования модуля

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

Требуется смоделировать поведение котарыболова, который знает, сколько грамм рыбы Мах\/\/ он может съесть за один день, при этом не позволяя себе оставлять частично съеденную рыбину.

Пусть у кота есть последовательность садков для хранения рыбы. Стра­тегия кота состоит в следующем. Если очередная поступившая рыба может быть съедена в тот же день (суммарный вес уже накопленных в текущем садке и очередной не превосходит Мах\/\/), то она помещается в текущий садок, и тем самым величина веса рыбы текущего садка Сиг\/\/ увеличивает­ся. При этом если суммарный вес рыбы становится равным Мах\/\/, то садок считается заполненным и далее рыбы размещаются в следующем садке. Ко­гда суммарный вес рыб превышает норму, возможно, что в садке есть рыба, замена которой на очередную позволит уложиться в норматив Мах\Л/. В этом случае принимается решение об обмене рыб. Если же это невозможно, то са­док считается загруженным (лучше недоесть, чем чтото оставить). В обоих случаях одна из рыб — текущая или обмененная — помещается в следующий садок. Для простоты считается, что обмен на две или более уже пойманных рыб превосходит интеллектуальные силы кота. По исчерпании поступления рыб последний из садков может оказаться неполным. Требуется напечатать последовательность весов рыб, размещаемых в садках, и суммарные веса рыб в каждом садке.

Задача решается путем 'перекачки' поступающей рыбы в очередь с одно­временным накоплением суммарного веса. Как только последний превышает норму, организуется очистка очереди, в ходе которой ищутся рыбы, способ­ные заменить последний экземпляр из поступивших с улучшением показа­теля насыщения. Найденные таким образом экземпляры обмениваются на

Новости

  • 1
  • 2
Prev Next

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

24.01.2016

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

Роскосмос не планирует в течение ближайшего десятилетия осуществлять пуск тяжёлой ракеты-носителя А...

Ученые РФ опровергли выводы исследований о вреде ГМО

24.01.2016

Ученые РФ опровергли выводы исследований о вреде ГМО

Исследователи из Института проблем передачи информации (ИППИ РАН) проанализировали несколько самых п...

Летающие "Крокодилы"

24.01.2016

Летающие "Крокодилы"

20 удивительных фактов о боевом вертолете Ми-24.Этот вертолет стал таким же узнаваемым символом сове...

В Аргентине описали новый вид динозавра-гиганта

24.01.2016

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

Реклама