summaryrefslogtreecommitdiffhomepage
path: root/pt-br/bc-pt.html.markdown
diff options
context:
space:
mode:
authorDavid Lima <contato@davidlima.com.br>2023-12-14 11:40:22 -0300
committerGitHub <noreply@github.com>2023-12-14 15:40:22 +0100
commit1d78cfdbc611ece54576a363cd47aac2b583a9b1 (patch)
tree8b1faf74d8c878e86618ff5b4e7bd4f79b9b085a /pt-br/bc-pt.html.markdown
parent69ba90645f83af18ed6cd3a4d5edeefc00dfa43e (diff)
Translate BC to pt-br (#3753)
Diffstat (limited to 'pt-br/bc-pt.html.markdown')
-rw-r--r--pt-br/bc-pt.html.markdown104
1 files changed, 104 insertions, 0 deletions
diff --git a/pt-br/bc-pt.html.markdown b/pt-br/bc-pt.html.markdown
new file mode 100644
index 00000000..2a412806
--- /dev/null
+++ b/pt-br/bc-pt.html.markdown
@@ -0,0 +1,104 @@
+---
+language: bc
+contributors:
+ - ["Btup"]
+translators:
+ - ["David Lima", "https://github.com/davelima"]
+lang: pt-br
+filename: learnbc-pt.bc
+---
+```c
+/*Este é um comentário
+multi-linhas*/
+# Este é um comentário de uma única linha! (em bc GNU).
+
+ /*1. Variáveis e estruturas de controle*/
+num = 45 /*Todas as variáveis apenas salvam dados do tipo double, e
+ você não pode salvar strings diretamente em constantes.*/
+num 45; /*Você pode adicionar ponto-e-vírgula após cada linha.
+ Isto é opcional*/
+/*Blocos são denotados usando os operadores {} (similar ao C):*/
+while(num < 50) {
+ num += 1 /*equivalente a num=num+1.
+ a = a op b é equivalente a a op= b.*/
+}
+/*E existem os operadores ++ (incrementar) e -- (decrementar).*/
+/* Existem 3 tipos especiais de variáveis:
+scale: define a escala de números double.
+ibase: define a base de da entrada.
+obase: define a base da saída.
+*/
+/*Cláusulas If:*/
+hora = read() /*Lê a entrada de um número*/
+
+if(hora < 12) { /*Os operadores são idênticos ao C.*/
+ print "Bom dia\n" /*"print" imprime strings ou variáveis
+ separados por vírgula (,).*/
+} else if(hora == 12) {
+ print "Olá\n"
+ /*Para escapar strings, inicie a string com \.
+ Para deixar o escape de strings mais claros,
+ aqui está uma lista simplificada das strings escapadas
+ que funcionarão com bc:
+ \b: backspace
+ \c: carriage return (enter)
+ \n: newline (nova linha)
+ \t: tab
+ \\: backslash (barra inertida)*/
+} else {
+ /*Variáveis são globais por padrão.*/
+ istoEGlobal = 5
+ /*Para tornar uma variável local, use a palavra-chave "auto" em uma função.*/
+}
+
+/*Todas as variáveis por padrão tem o valor 0*/
+num = variavelEmBranco /*num é igual a 0.*/
+
+/*Assim como no C, "0" é considerado "false"*/
+if(!num) {print "false\n"}
+
+/*Diferente do C, bc não tem o operador ?:. Por exemplo,
+este bloco de código causaria um erro:
+a = (num) ? 1 : 0
+Entretanto, você pode simular da seguinte forma:
+a = (num) && (1) || (0) /*&& é "E", || é "OU"*/
+*/
+
+/*Loops For*/
+num = 0
+for(i = 1; i <= 100; i++) {/*Similar ao loop For do C.*/
+ num += i
+}
+
+ /*2.Funções e arrays*/
+define fac(n) { /*para definir uma função, use "define".*/
+ if(n == 1 || n == 0) {
+ return 1 /*retorna um valor*/
+ }
+ return n * fac(n - 1) /*recursão é permitido*/
+}
+
+/*Closures e funções anônimas não são permitidas*/
+
+num = fac(4) /*24*/
+
+/*Exemplo de variáveis locais:*/
+define x(n) {
+ auto x
+ x = 1
+ return n + x
+}
+x(3) /*4*/
+print x /*A variável "x" não será acessível de fora da função*/
+/*Arrays são equivalentes aos arrays em C.*/
+for(i = 0; i <= 3; i++) {
+ a[i] = 1
+}
+/*Para acessar um array, faça assim:*/
+print a[0], " ", a[1], " ", a[2], " ", a[3], "\n"
+quit /*Adicione essa linha no final do código
+para garantir que o programa encerre. Essa linha é opcional.*/
+```
+Aproveite bem essa simples calculadora! (Ou essa linguagem de programação, para ser exato.)
+
+Este programa inteiro foi escrito em GNU bc. Para rodá-lo, use ```bc learnbc-pt.bc```