Estruturas de controle e operadores de Euphoria

Origem: Wikipédia, a enciclopédia livre.

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