306
306
>Operadores booleanos (verdadeiro/falso)</title>
308
>Enquanto os <link linkend="mathematical-operators"
309
>operadores matemáticos</link
310
> são usados principalmente para os <link linkend="number"
312
>, os operadores booleanos são para os <link linkend="boolean-value"
313
>valores booleanos</link
308
>Where <link linkend="mathematical-operators"
309
>mathematical operators</link
310
> are mainly for <link linkend="number"
312
>, boolean operators are for <link linkend="boolean-value"
313
>boolean values</link
315
>verdadeiro</userinput
318
>). Existem apenas três operadores booleanos, o <userinput
318
>). There are only three boolean operators, namely: <userinput
324
>. O seguinte exemplo de &turtlescript; mostra como usá-los: <screen>
325
$e_1_1 = verdadeiro e verdadeiro # -> verdadeiro
326
$e_1_0 = verdadeiro e falso # -> falso
327
$e_0_1 = falso e verdadeiro # -> falso
328
$e_0_0 = falso e falso # -> falso
330
$ou_1_1 = verdadeiro ou verdadeiro # -> verdadeiro
331
$ou_1_0 = verdadeiro ou falso # -> verdadeiro
332
$ou_0_1 = falso ou verdadeiro # -> verdadeiro
333
$ou_0_0 = falso ou falso # -> falso
335
$not_1 = nao verdadeiro # -> falso
336
$not_0 = nao falso # -> verdadeiro
324
>. The following piece of &turtlescript; shows how to use them: <screen>
325
$and_1_1 = true and true # -> true
326
$and_1_0 = true and false # -> false
327
$and_0_1 = false and true # -> false
328
$and_0_0 = false and false # -> false
330
$or_1_1 = true or true # -> true
331
$or_1_0 = true or false # -> true
332
$or_0_1 = false or true # -> true
333
$or_0_0 = false or false # -> false
335
$not_1 = not true # -> false
336
$not_0 = not false # -> true
338
> Se usar o <link linkend="the-inspector"
338
> Using the <link linkend="the-inspector"
340
>, poderá ver os valores; contudo, fornecemos estes resultados como pequenos comentários no fim das linhas. O <userinput
342
> é avaliado como <userinput
343
>verdadeiro</userinput
344
> apenas se ambos os lados forem <userinput
345
>verdadeiro</userinput
348
> é avaliado como <userinput
349
>verdadeiro</userinput
350
> se qualquer um dos lados for <userinput
351
>verdadeiro</userinput
352
>. Finalmente, o <userinput
354
> transforma um <userinput
355
>verdadeiro</userinput
361
>verdadeiro</userinput
340
> you can see the values, yet we also supply these results as little comments at the end of the lines. <userinput
342
> evaluates <userinput
344
> only if both sides are <userinput
348
> evaluates <userinput
350
> if either side of <userinput
364
364
>Os operadores booleanos são <glossterm
385
385
>. Isto significa que todos os três têm de ser avaliados como "verdadeiro" para imprimir o "olá".</para>
388
>Um exemplo com o <userinput
388
>An example with <userinput
392
se ($n < 10) ou ($n == 2) {
392
if ($n < 10) or ($n == 2) {
396
> Neste trecho de &turtlescript;, o lado esquerdo do <userinput
398
> é avaliado como 'verdadeiro', enquanto o direito é avaliado como 'falso'. Uma vez que um dos dois lados do operador <userinput
400
> é 'verdadeiro', o operador <userinput
402
> é avaliado como 'verdadeiro'. Isto significa que o 'olá' é impresso.</para>
396
> In this piece of &turtlescript; the left side of the <userinput
398
> is evaluating to 'true', the right side to 'false'. Since of the two side of the <userinput
400
> operator is 'true', the <userinput
402
> operator evaluates 'true'. That means "hello" gets printed.</para>
405
405
>Finalmente, um exemplo com o <userinput
444
444
> (que contenham números) poderão ser comparados entre si, com os operadores de comparação.</para>
446
>Aqui estão todos os possíveis operadores de comparação: <table
446
>Here are all possible comparing operators: <table
448
>Tipos de perguntas</title
448
>Types of questions</title
449
449
> <tgroup cols="3"
463
> for igual a <userinput
479
> não for igual ao <userinput
486
>$A > $B</userinput
495
> for maior que o <userinput
502
>$A < $B</userinput
511
> for menor que <userinput
518
>$A >= $B</userinput
521
>maior ou igual a</entry
527
> for maior ou igual ao <userinput
534
>$A <= $B</userinput
537
>menor ou igual a</entry
543
> for menor ou igual a <userinput
479
> does not equal <userinput
495
> is greater than <userinput
511
> is smaller than <userinput
518
>A >= B</userinput
521
>greater than or equals</entry
527
> is greater than or equals <userinput
534
>A <= B</userinput
537
>smaller than or equals</entry
543
> is smaller than or equals <userinput
550
> Lembre-se que o $A e o $B têm de ser <link linkend="number"
552
> ou <link linkend="assignment-of-variables"
554
> que contenham números.</para>
550
> Please note that A and B have to be <link linkend="number"
552
> and <link linkend="assignment-of-variables"
554
> that contain numbers.</para>
1537
1537
> Irá resultar numa mensagem de erro.</para>
1540
>Considere o pequeno trecho de código em &turtlescript;: <screen>
1540
>Please consider the following piece of &turtlescript;: <screen>
1544
# o próximo comando imprime "2029"
1547
# o próximo comando imprime "2004 mais 25 é igual a 2029"
1548
imprimir $a + " mais " + $b + " é igual a " + ($a + $b)
1544
# the next command prints "2029"
1547
# the next command prints "2004 plus 25 equals 2029"
1548
print $a + " plus " + $b + " equals " + ($a + $b)
1551
> Nas duas primeiras linhas, as variáveis <userinput
1555
> são configuradas como sendo iguais a 2004 e 25. Depois nos dois comandos <userinput
1556
>imprimir</userinput
1557
> existe um comando <userinput
1558
>recuar 30</userinput
1559
> no meio são executados. Os comentários antes dos comando <userinput
1560
>imprimir</userinput
1561
> explicam o que ele está fazendo. O comando <userinput
1562
>recuar 30</userinput
1563
> está ai para garantir que cada saída está numa nova linha. Como poderá ver, as variáveis poderão ser usadas como se fossem o valor que contêm, podendo usá-las com qualquer tipo de <link linkend="operators"
1565
> ou fornecendo-os como entradas na invocação dos <link linkend="commands"
1550
> In the first two lines the variables <userinput
1554
> are set to 2004 and 25. Then in two <userinput
1556
> commands with a <userinput
1557
>backward 30</userinput
1558
> in between. The comments before the <userinput
1560
> commands explain what they are doing. As you see variables can be used just as if their where what they contain, you can use them with any kind of <link linkend="operators"
1562
> or give them as input when invoking <link linkend="commands"
1839
1836
> até <link linkend="number"
1841
1838
> { ... }</screen>
1845
>ciclo de contagem</quote
1846
>, &ie;, faz uma contagem para você. O primeiro membro configura a variável com o valor do primeiro ciclo. Em cada iteração, o número é aumentado até atingir o segundo número. <screen>
1847
para $x = 1 ate 10 {
1842
>counting loop</quote
1843
>, &ie; it keeps count for you. The first number sets the variable to the value in the first loop. Every loop the number is increased until the second number is reached. <screen>
1852
> Cada vez que o código entre chaves é executado, o <userinput
1854
> é incrementado de uma unidade, até que o valor do <userinput
1856
> chegue a 10. O código entre chaves imprime o valor de <userinput
1858
> multiplicado por 7. Depois deste programa terminar a sua execução, você irá ver a tabuada dos 7 na área de desenho. </para>
1849
> Every time the code between the brackets is executed the <userinput
1851
> is increased by 1, until <userinput
1853
> reaches the value of 10. The code between the brackets prints the <userinput
1855
> multiplied by 7. After this program finishes its execution you will see the times table of 7 on the canvas. </para>
1860
1857
>O passo padrão para um ciclo é 1, você pode usar um outro valor com <screen
1861
1858
>para <link linkend="assignment-of-variables"