* "99 bottles" em 1500 variações de linguagens de programação diferentes

"99 bottles of beer"

Vale a pena visitar este site apresenta a referida letra da musica escrita em +1500 variações de linguagens de programação diferentes:

www.99-bottles-of-beer.net

Se o site estiver em baixo podemos consultar uma imagem do site no Wayback Machine em web.archive.org/web/20200601220637/http://www.99-bottles-of-beer.net/

Trata-se de uma canção repetitiva com versos iguais alterando somente o número que começa em 99 e vai decrescendo até 1.

Como tem esta repetição torna-se fácil de desenhar um programa que escreva a letra de toda a musica. Vamos ver como.

Abre o livro de apoio Javascript Programming (editora Head First). Nas páginas 29 a 34 do Capítulo 1, surge este exemplo da referida musica "99 bottles of beer" que resolve a repetição através de um ciclo while e de um ciclo if else:

Versão 1: A versão original apresentada no livro (ver pasta DRIVE de apoio):

(Estes links são reservados aos utilizadores do domínio)

Abre o ficheiro de texto, copia para o editor (Notepad++ por exemplo),executa e verifica o output na consola (carrega em F12 para visualizar a consola)

Aceder ao livro completo na seguinte pasta DRIVE (PDF)

A versão original faz o output para a consola:

<!doctype html>

<html lang="en">

<head>

<meta charset="utf-8">

<title>My First JavaScript</title>

</head>

<body>

<script>

var word = "bottles";

var count = 99;

while (count > 0) {

console.log(count + " " + word + " of beer on the wall");

console.log(count + " " + word + " of beer,");

console.log("Take one down, pass it around,");

count = count - 1;

if (count > 0) {

console.log(count + " " + word + " of beer on the wall.");

} else {

console.log("No more " + word + " of beer on the wall.");

}

}

</script>

</body>

</html>

Versão 2: A mesma versão apresentada no livro, mas agora com as variáveis palavra e contador em português e outputs para o ecrã através da instrução document.write.

Ver código fonte no Github em https://lpitta.github.io/99bottles/v2.html

<!doctype html>

<html lang="pt">

<head>

<meta charset="utf-8">

<title>99 bottles of beer com um ciclo while</title>

</head>

<body>

<script>

var palavra = "bottles";

var contador = 99;

while (contador > 0) {

document.write(contador + " " + palavra + " of beer on the wall" + "<br>");

document.write(contador + " " + palavra + " of beer," + "<br>");

document.write("Take one down, pass it around," + "<br><br>");

contador = contador - 1;

if (contador > 0) {

document.write(contador + " " + palavra + " of beer on the wall.");

} else {

document.write("No more " + palavra + " of beer on the wall.");

}

}

</script>

</body>

</html>

Versão 3: Identica à versão 2 mas com uma pequena "melhoria". Descobre qual é?

Ver código fonte no Github em https://lpitta.github.io/99bottles/v3.html

<!doctype html> <html lang="pt"> <head> <meta charset="utf-8"> <title>99 bottles of beer com um ciclo while</title> </head> <body> <script> var palavra = "bottles"; var contador = 99; while (contador > 0) { if (contador == 1) { palavra = ("garrafas"); } document.write(contador + " " + palavra + " of beer on the wall" + "<br>"); document.write(contador + " " + palavra + " of beer," + "<br>"); document.write("Take one down, pass it around." + "<br><br>"); contador = contador - 1;

if (contador > 0) {

document.write(contador + " " + palavra + " of beer on the wall.");

} else {

document.write("No more " + palavra + " of beer on the wall.");

}

} </script> </body> </html>

Repositório Gitbub

Ver repositório completo no Github em https://github.com/lpitta/99bottles

Mais curiosidades sobre a letra da música "99 bottles of beer"

A Wikipedia tem uma pequena entrada sobre esta canção em en.wikipedia.org/wiki/99_Bottles_of_Beer

No Youtube surgem alguns vídeos com esta musica:

99 Bottles of Beer (Full Version with all 99 Beers) (18:55):

The ultimate BEER SONG (99 bottles - Zane Williams) (4:05):

E agora em vez de beer trocamos por milk!

99 bottles of milk on the wall Full Song (18:03):