99 flaskor öl - 99 Bottles of Beer

"99 flaskor"
Låt
Genre Folk

" 99 Bottles of Beer " är en anonym havshanty från mitten av 1900-talet. Det är en traditionell omvänd räknesång i både USA och Kanada. Det är populärt att sjunga på vägresor, eftersom det har ett mycket repetitivt format som är lätt att memorera och kan ta lång tid när familjer sjunger. I synnerhet sjunger låten ofta av barn på långa skolbussresor , till exempel klassresor eller på Scout- eller Girl Guide -utflykter.

Text

Sångens texter är följande:

Noter för sången i "99 Bottles of Beer"

Alternativ rad:

Om en av dessa flaskor skulle råka falla, 98 flaskor öl på väggen ...

Samma vers upprepas, varje gång med en flaska färre, tills det inte finns någon kvar. Variationer på den sista versen efter den sista flaskan som går ner inkluderar rader som:

Inga flaskor öl på väggen, inga flaskor öl.
Gå till affären och köp några fler, 99 flaskor öl på väggen ...

Eller:

Inga flaskor öl på väggen, inga flaskor öl.
Vi har tagit ner dem och skickat dem runt; nu är vi berusade och svimmade!

Andra alternativa rader lyder:

Om den där flaskan skulle falla, vilket slöseri med alkohol!

Eller:

Inga flaskor öl på väggen, inga flaskor öl.
Det finns inget annat att falla för det finns inga flaskor öl på väggen.

Eller:

Sången stannar inte vid de sista "1" eller "0" flaskorna öl utan fortsätter att räkna med −1 (negativt) flaskor öl på väggen Ta ner en, passera den, −2 (negativ 2) flaskor med öl på väggen ... fortsätter vidare genom de negativa siffrorna

Andy Kaufman rutin

Den tråkiga och tidskrävande karaktären av låten "99 Bottles of Beer" innebär att förmodligen endast en minoritet av återgivningar görs till den sista versen. Den amerikanska komikern Andy Kaufman utnyttjade detta faktum i rutinen tidigt i sin karriär när han faktiskt skulle sjunga alla 100 verserna.

Atticus

Atticus , ett band från Knoxville, Tennessee spelade in en tretton och en halv minut lång liveversion av låten i sin helhet på en klubb i Glasgow, Skottland som heter The Cathouse . Den ingick i albumet Figment 2001 . Rich Stewart aka Barroom Rambler listade den som nummer ett dricksång av 86 i en artikel för Modern Drunkard Magazine året efter.

Matematiskt inspirerade varianter

Donald Byrd har samlat dussintals varianter inspirerade av matematiska begrepp och skrivna av honom själv och andra. (En delmängd av hans samling har publicerats.) Byrd hävdar att samlingen har såväl pedagogiskt som nöjesvärde. Bland hans varianter finns:

  • "Oändliga flaskor öl på väggen". Om en flaska tas ner finns det fortfarande oändliga flaskor öl på väggen (vilket skapar en oändlig sekvens ungefär som " The Song That Never Ends ").
    • "Aleph-null flaskor öl på väggen". Aleph-null är storleken på uppsättningen av alla naturliga tal , och är den minsta oändligheten och den enda som kan räknas ; därför, även om en oändlig aleph-null flaskor faller, kvarstår samma mängd.
    • "Aleph-one/two/three/etc. Flaskor öl på väggen". Aleph-one, two, three, etc. är otaliga oändliga uppsättningar, som är större än räkningsbara; Därför, om bara en oändlig mängd flaskor faller, återstår ett otalligt antal.

Andra versioner i Byrds samling innefattar begrepp som bland annat geometriska framsteg , differentialer , Eulers identitet , komplexa tal , summeringsnotation , Cantorset , Fibonacci -sekvensen och kontinuumhypotesen .

Referenser inom datavetenskap

Den datavetare Donald Knuth visat att låten har en komplexitet av hans i-skämt -Artikel " Komplexiteten i Songs ".

Det finns många datorprogram för att mata ut texten till låten. Detta är analogt med "Hej, värld!" program , med tillägg av en loop . Precis som med "Hello World!" Kan detta vara en övningsövning för dem som studerar datorprogrammering och en demonstration av olika programmeringsparadigm som handlar om looping -konstruktioner och syntaktiska skillnader mellan programmeringsspråk inom ett paradigm.

Programmet har skrivits på över 1500 olika programmeringsspråk.

Ett enkelt exempel med klassisk BASIC -syntax:

FOR Bottle = 100 TO 1 STEP -1
 PRINT STR(Bottle) +" bottles of beer on the wall, "+ STR(Bottle) +" bottles of beer"
 PRINT "Take one down and pass it around, "+ STR(Bottle-1) +" bottles of beer on the wall"
NEXT Bottle

Ett annat exempel med C# :

for (int bottleNumber = 100; 1 < bottleNumber; bottleNumber--)
{
	Console.WriteLine("{0} bottles of beer on the wall, {0} bottles of beer", bottleNumber);
	Console.WriteLine($"Take one down and pass it around, {bottleNumber - 1} bottles of beer on the wall");		   
}
Console.WriteLine("1 bottle of beer on the wall, 1 bottle of beer");
Console.WriteLine("Take one down and pass it around, no bottles of beer on the wall");

Ett annat exempel med PHP :

$numberBottles = 99;
while ($numberBottles > 1) {
    echo $numberBottles . " bottles of beer on the wall<br>\n";
    echo $numberBottles . " bottles of beer<br>\n";
    echo "If you take one down<br>\n";
    echo "And pass it around<br>\n";
    $numberBottles = $numberBottles - 1;
    echo "There'll be " . $numberBottles . " bottles of beer on the wall.<br><br>\n";
}
    echo "Just " . $numberBottles . " bottle of beer on the wall<br>\n";
    echo "Just " . $numberBottles . " bottle of beer<br>\n";
    echo "If you take it down<br>\n";
    echo "And pass it around<br>\n";
    echo "There'll be no more bottles of beer on the wall.<br><br>\n";

Ett annat exempel med Python:

for quant in range(99, 0, -1):
   if quant > 1:
      print (quant, "bottles of beer on the wall,", quant, "bottles of beer.")
      if quant > 2:
         suffix = str(quant - 1) + " bottles of beer on the wall."
      else:
         suffix = "1 bottle of beer on the wall."
   elif quant == 1:
      print ("1 bottle of beer on the wall, 1 bottle of beer.")
      suffix = "no more beer on the wall!"
   print ("Take one down, pass it around,", suffix)

Ett annat exempel med JavaScript :

for (let bottleNum = 99; bottleNum > 0; bottleNum--) {
  if (bottleNum > 1) {
    console.log(`${bottleNum} bottles of beer on the wall, ${bottleNum} bottles of beer.`);
    if (bottleNum > 2) {
      console.log(`Take one down, pass it around, ${bottleNum - 1} bottles of beer on the wall.`);
    } else {
      console.log("Take one down, pass it around, 1 bottle of beer on the wall.");
    }
  } else if (bottleNum == 1) {
    console.log("1 bottle of beer on the wall, 1 bottle of beer.");
    console.log("Take one down, pass it around, no more beer on the wall!");
  }
}

Se även

  • " Potje met vet " - en traditionell holländsk sång som sjungs i samma stil
  • " Ten Green Bottles " - en liknande låt som är populär i Storbritannien

Referenser

externa länkar