music.wikisort.org - Произведение

Search / Calendar

«99 бутылок пива» (англ. 99 Bottles of Beer) — традиционная песенка в США и Канаде. Песенка часто поётся во время длительных поездок, поскольку у неё повторяющийся и легко запоминающийся мотив, а её пение может занять много времени. Особенно часто песню поют дети во время продолжительных групповых поездок на автобусе, таких как экскурсия школьного класса или выезд на природу бойскаутов. Песенка происходит от традиционной британской песни «Десять зелёных бутылок».


Основной вариант песни


Формат куплета является шаблонным и может быть выражен следующим образом:

Отсчёт ведётся от 99 до 1:

<количество> бутылок пива на стене
<количество> бутылок пива!
Возьми одну, пусти по кругу
<количество минус 1> бутылок пива на стене!

В оригинале:

<number> bottles of beer on the wall
<number> bottles of beer!
Take one down, pass it around
<number - 1> bottles of beer on the wall!

Таким образом, количество бутылок повторяется три раза (кроме числа 99). Предпоследняя строка в каждом куплете иногда изменяется на слова «если одна из бутылок упадёт», кроме того, у заключительного куплета есть множество разновидностей.

Одним из распространённых вариантов заключительного куплета (который может в принципе сделать песню бесконечной, смыкая её конечный куплет с первым), является:

Нет бутылок пива на стене!
Нет бутылок пива!
Пойди в магазин и купи ещё (или Пойди в магазин и стяни ещё),
99 бутылок пива на стене!


В обучении программированию


Текст песни используется при обучении программистов технике работы с циклами[1][2][3].

В связи со спецификой используемых языков реализация подобной программы перестаёт быть тривиальной: в случае с английским языком — необходимо менять слово bottles в предпоследнем цикле на bottle. На русском языке программист сталкивается с необходимостью учёта склонения существительного: если число находится в диапазоне от 11 до 19, нужно использовать слово "бутылок", иначе если остаток при делении числа на 10 равен 1, нужно использовать слово "бутылка", если же остаток при делении числа на 10 равен 2, 3 или 4, нужно использовать слово "бутылки", иначе используем слово "бутылок".

def count_bottle(count):
    remainder = count % 10
    if remainder == 1 and not count == 11:
        return f'{count} бутылка'
    elif remainder >= 2 and remainder <= 4 and not (count >= 12 and count <= 14):
        return f'{count} бутылки'
    else:
        return f'{count} бутылок'

def base():
    print(f'{count_bottle(N)} пива на стене')
    print(f'{count_bottle(N)} пива!')
    print('Возьми одну, пусти по кругу')
    if N == 1:
        final()
    else:
        print(f'{count_bottle(N - 1)} пива на стене!\n')
    
def final():
    print('Нет больше бутылок пива на стене!\n')
    print('Нет бутылок пива на стене!')
    print('Нет бутылок пива!')
    print('Пойди в магазин и купи ещё')
    print('99 бутылок пива на стене!')

for N in reversed(range(1,100)):
    base()

Культурное влияние


99 бутылок молока на борту
99 на борту
берёшь одну, пускаешь ко дну
98 осталось на борту


Примечания


  1. 99 Bottles of Beer Архивная копия от 9 февраля 2010 на Wayback Machine: «99 бутылок пива» на 1500-х языках программирования и их вариациях  (англ.)
  2. Das '99 Bottles of Beer'-Programm — Ein Reiseführer durch die Welt der Programmiersprachen Архивная копия от 12 июля 2006 на Wayback Machine  (нем.)
  3. Сиерра К., Бейтс Б. Изучаем Java. — М.: Эксмо, 2012. — 720 стр. — С. 44. ISBN 978-5-699-54574-2
  4. Knuth, D. «The Complexity of Songs», SIGACT News, Summer 1977, 17—24.
    • Reprinted in: Knuth, D. «The Complexity of Songs», Communications of the ACM, 1984, 27 (4) pp. 344—346.
  5. SlaineHipHop. Slaine - 99 Bottles. Дата обращения: 27 декабря 2018. Архивировано 14 января 2019 года.

Ссылки



На других языках


[en] 99 Bottles of Beer

"99 Bottles of Beer" is a song dating to the mid-20th century. It is a traditional reverse counting song in both the United States and Canada. It is popular to sing on road trips, as it has a very repetitive format which is easy to memorize and can take a long time when families sing. In particular, the song is often sung by children on long school bus trips, such as class field trips, or on Scout or Girl Guide outings.

[es] 99 Bottles of Beer

99 Bottles of Beer (en castellano: 99 botellas de cerveza) es una canción musical tradicional de los Estados Unidos y Canadá.
- [ru] 99 бутылок пива



Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.org внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2025
WikiSort.org - проект по пересортировке и дополнению контента Википедии