Estruturas de controle e operadores de Euphoria
Este é um anexo que descreve as estruturas de controle e operadores de Euphoria, para ajudar no aprendizado nessa linguagem.
Estruturas de controle
[editar | editar código-fonte]Estruturas de controle, em Euphoria, são comandos básicos que são usados para realizar comparações lógicas e repetições. Há três estruturas de controle em Euphoria: if, while, for.
if
[editar | editar código-fonte]A estrutura if, segue o seguinte formato:
if variável1 operador relacional variável2 then
ação1
end if
A estrutura if, ainda pode conter uma exceção:
if variável1 operador relacional variável2 then
ação1
else
ação2
end if
E ainda pode conter uma exceção-condicional:
if variável1 operador relacional variável2 then
ação1
elsif variável1 operador relacional variável then
ação2
end if
Exemplo:
if var = 'a' then -- Se var = a então…
x = 1 -- Atribuirá 1 a variável x
elsif var = 'b' or var = 'B' then -- Caso contrário, se var for = 'b' ou 'B'
x = 2
else -- Caso contrário:
x = -1
end if -- Termina if
O exemplo anterior testa se a variável é igual a a
. Se não for, testa se a variável é igual a b
ou B
. Se nenhuma das condições for verdadeira, retornará o valor (-1), e encerrará a condição.
while
[editar | editar código-fonte]A estrutura while, segue o seguinte formato:
while variável1 operador relacional variável2 do
ação1
end while
Ela continua sendo executada, até que a condição torne-se falsa. Exemplo:
while var > 0 do -- Enquanto var for maior que 0
x = 2 * 2 -- x é igual á 2 vezes 2 (4)
end while -- Termina o while
for
[editar | editar código-fonte]A estrutura for, segue o seguinte formato:
for variável = valor1 to valor2 do
ação
end for
A estrutura é executada até que a condição torne-se falsa. Enquanto for verdadeira, aumentará o valor de variável com o valor de “valor1” até chegar ao seu limite, o “valor2”. Enquanto for verdadeira, irá executar a ação programada. Exemplo:
for var = 1 to 10 do -- var irá aumentar em 1 até 10
? var -- Põe na tela o conteúdo de var
end for -- Termina for
O exemplo acima, aumenta o valor de var
em 1
até 10
, e executa a função ? var
, que manda o valor de var para a tela. O mesmo exemplo pode ser escrito, substituindo os números, por variáveis que contenham um valor númerico. O programa irá produzir:
12345678910
Diferente de todas as estruturas em Euphoria, a for só usa uma variável que ainda não foi declarada (apenas a primeira variável da estrutura, no caso var).
Operadores
[editar | editar código-fonte]Operadores, em Euphoria, são símbolos especiais, que servem para fazer ações matemáticas, ou comparações lógicas.
Operador de atribuição
[editar | editar código-fonte]Servem para atribuir valores a variáveis já declaradas. Exemplo:
atom a -- Declara a variável a
a = 1 -- Atribui o valor 1, à variável a
Variáveis comuns não podem ter valores atribuídos à mesma, sem antes serem declaradas e, com exceção das variáveis constants, também não podem receber uma atribuição durante sua declaração, diferente de C++.
atom a = 1 -- Forma incorreta
O exemplo acima gera um erro.
atom a -- Forma correta
a = 1
O segundo exemplo mostra a forma correta de se declarar uma variável e atribuir um valor a ela.
Operadores aritméticos
[editar | editar código-fonte]A linguagem possui operadores aritméticos, que servem para realizar operações aritméticas. Em Euphoria, os seguintes operadores aritméticos estão disponíveis: adição (+
), subtração (-
), mutiplicação (*
), divisão (/
). Ela ainda suporta sinais unários (negativo e positivo).
? 3 + 5
No exemplo acima, o interpretador irá retornar 8
, que é o resultado dessa operação aritmética. O sinal de interrogação (?
) é o mesmo que a função print(1,)
, que retorna um valor em forma numérica.
? 8 * 3
O segundo exemplo retorna 24, isto é, 8 vezes 3 (8*3).
Operadores relacionais
[editar | editar código-fonte]O Euphoria possui operadores relacionais, que são usados para realizar comparações entre valores, em estruturas de controle. Eles são:
Operador | Descrição |
---|---|
< | Menor |
> | Maior |
<= | Menor ou igual |
>= | Maior ou igual |
= | Igual |
!= | Diferente |
and | E |
or | Ou |