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

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.

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.

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

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

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

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

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

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