Escolar Documentos
Profissional Documentos
Cultura Documentos
ILA
Funes
Inicio
Definio de variveis:
-
OPCIONAL
OPCIONAL
instrues
Fim
Bloco Principal
Inicio
OBRIGATRIO
instrues
Fim
DECLARAES
VARIVEIS
Todas as variveis definidas pelo usurio devem ser declaradas em
separado em um bloco especial denominado VARIVEIS. Podem ser
definidas duas classes distintas de variveis, simples e compostas.
Variveis Simples
Sintaxe: VARIAVEIS
numerico <expr1>, <expr2>, ..., <exprN>
logico <expr1>, <expr2>, ..., <exprN>
caractere
<expr1>, <expr2>, ..., <exprN>
Variveis Compostas
Sintaxe: VARIAVEIS
matriz numerico
matriz numerico
ILA
Exemplos:
// Algortmo para criar e imprimir um vetor de 100 posies.
// --------------------------------------------------------variaveis
numerico val, i
matriz numerico vet[100]
inicio
limpar
para i=1 ate 100
posicionar 10,10
escrever "Entre com um numero = "
escrever "Entre com um numero = "
posicionar 10,40
ler val
vet[i]=val
proximo
para i=1 ate 100
escrever vet[i]
proximo
fim
// Algortmo para criar e imprimir uma matriz mat(3,3)
// ---------------------------------------------------variaveis
numerico val, i, j
matriz numerico mat[3,3]
inicio
para i=1 ate 3
para j=1 ate 3
posicionar 10,10
escrever "Digite um valor"
posicionar 10,40
ler val
mat[i,j] = val
proximo
proximo
// impresso da matriz - no formatada
para i=1 ate 3
para j=1 ate 3
escrever mat[i,j]
proximo
proximo
fim
FUNES
Uma chamada funo pode ser feita de dentro de uma expresso ou
como a forma de chamada de subrotina. Tem a seguinte forma:
Sintaxe:
ILA
Exemplos:
// Algortmo para ler um nome usando uma funo para imprimi-lo.
// ------------------------------------------------------------variaveis
caracter nome
funcao imprime(nome)
// parmetro = nome
inicio
posicionar 10,10
escrever "nome = " , nome
fim
//------- INICIO DO ALGORITMO PRINCIPAL ------------inicio
limpar
posicionar 5, 10
escrever "Digite um nome: "
ler nome
imprime(nome)
fim
// Algoritmo que calcula o fatorial de um numero usando uma
// funo recursiva.
------------------------------------------------------------Variaveis
numerico n
caracter c
//------------Funcao Fat(n)
//------------// funo recursiva que calcula o fatorial de um nmero
// recebe como parmetro n
Inicio
Se n < 0 entao
Retornar 0
Senao
Se (n = 0) ou (n = 1) entao
Retornar 1
Senao
Retornar n * Fat(n-1)
Fim_se
Fim_se
Fim
//------- INICIO DO ALGORITMO PRINCIPAL ------------Inicio
cor 1,3
limpar
janela 01,01,24,79
ILA
fim
posicionar 02,02
escrever "CALCULO DE FATORIAL - RECURSIVO"
posicionar 04,02
escrever "Digite 999 para sair"
n = 0
faca enquanto n <> 999
posicionar 10,10
escrever "Digite um n : "
posicionar 10,26
ler n
se n <> 999 entao
posicionar 11, 10
escrever "O fat. de ", n, " e' ",Fat(n)
fim_se
fim_enquanto
DIVERSOS
INICIO
Indica ao interpretador o incio da funo ou de um bloco de comandos
no algoritmo principal. Obrigatrio.
Sintaxe:
inicio
Exemplo:
// Menor algoritmo em ILA.
// ----------------------inicio
fim
FIM
Indica ao interpretador o final da funo ou de um bloco de comandos
no algoritmo principal. Obrigatrio.
Sintaxe:
fim
Exemplo:
// Menor algoritmo em ILA.
// ----------------------inicio
fim
ATRIBUIES
As atribuies so valores recebidos pelas variveis definidas pelo
usurio.
Sintaxe:
<varivel> = <expresso>
ILA
ILA
Exemplo:
variaveis
numerico num, outro
numerico num, outro
inicio
num = 12
outro = 123
num = outro
num = outro + num
fim
COMENTRIOS EM ALGORITMOS
O smbolo // faz com que tudo que estiver a direita, seja ignorado
pelo interpretador.
Exemplo:
// Isto apenas um comentrio.
OPERADORES
A prioridade dos operadores obedece as regras matemticas.
OPERADOR UNRIO
MENOS => OPERADORES ARITMTICOS
Potenciao ...
Multiplicao .
Diviso .......
Soma ..........
Subtrao .....
^
*
/
+
-
OPERADORES LGICOS
E .............
OU ............
NAO ...........
OPERADORES RELACIONAIS
Maior .........
Menor .........
Menor .........
Igual .........
Diferente .....
Maior igual ...
>
<
<
=
<>
>=
ILA
CONSTANTES
NP
Constante numrica NP 2.71828182846 (Nmero Neperiano).
Sintaxe:
NP
Exemplo:
// Algoritmo para imprimir o valor do log(e).
// -----------------------------------------inicio
escrever "Numero neperiano = " , np
escrever "LOG(E)
= " , LOG(NP)
fim
PI
Constante numrica PI 3.14159265359
Sintaxe:
PI
Exemplo:
// Algoritmo para imprimir o valor de PI.
// -------------------------------------inicio
escrever PI
fim
VERDADEIRO
Constante lgica de valor VERDADEIRO.
ILA
Sintaxe:
VERDADEIRO
Exemplo:
// Algoritmo que demonstra uma constante lgica verdadeira.
// -------------------------------------------------------variaveis
logico v
inicio
v = verdadeiro
escrever "constante v = ", v
fim
FALSO
Constante lgica de valor FALSO.
Sintaxe:
FALSO
Exemplo:
// Algoritmo para mostrar o valor de uma constante lgica falsa.
// ------------------------------------------------------------variaveis
logico f
inicio
f = falso
escrever "constante f = ", f
fim
ESTRUTURAS DE CONTROLE
SE
Expresso condicional
Sintaxe:
ou
1 caso:
-------SE <expresso> ENTAO
<bloco-de-comandos1...>
FIM_SE
- 2 caso:
---------SE <expresso> ENTAO
<bloco-de-comandos1...>
SENAO
<bloco-de-comandos2...>
FIM_SE
Comentrios:
<expresso> representa uma condio relacional aritmtica
ou lgica.
ILA
Exemplo:
// Algortmo para ler um valor, se o valor for 0 ento imprimir
// o valor lido, seno imprimir o valor 10.
// ------------------------------------------------------------variaveis
numerico val
inicio
ler val
se val = 0 entao
escrever "valor lido =", val
senao
escrever 10
fim_se
fim
// Algortmo que l um nmero e imprime se este for maior do que
// 10.
// ------------------------------------------------------------variaveis
numerico val
inicio
ler val
se val > 10 entao
escrever "este numero maior do 10 => ",val
fim_se
fim
PARA PROXIMO
Repete um bloco de procedimentos at que <varivel> seja igual ou
maior que <expresso2>.
Sintaxe:
ou
Comentrio:
<varivel> inicializada com o contedo de <expresso1> e,
subseqentemente, incrementada de <expresso3>, executando
ILA
10
<bloco-de-comandos1)
at
que
<expresso2>;
Caso <expresso3> seja omitida, o
assumido.
<varivel>
valor
atinja
default
Exemplo:
// Algortmo para gerar os nmeros entre 1 e 10.
// --------------------------------------------variaveis
numerico i
inicio
para i=1 ate 10
escrever "numero gerado = ", i
proximo
fim
// Algortmo para gerar todos os nmeros pares entre 1 e 25.
// --------------------------------------------------------variaveis
numerico i
inicio
para i=2 ate 24 passo 2
escrever "numero gerado = ", i
proximo
fim
FACA CASO
Causa o desvio do fluxo para um de uma lista de
procedimentos que satisfaam a condio CASO <expresso>:
Sintaxe:
ou
possveis
FACA CASO
CASO <expresso>:
<bloco-de-comandos1...>
FIM_CASO
FACA CASO
CASO <expresso>:
<bloco-de-comandos1...>
OUTRO_CASO <expresso>:
<bloco-de-comandos2...>
FIM_CASO
Comentrio:
-
ILA
11
Exemplo:
// Algortmo para ler um valor numrico.
// Se este valor for igual 1 ento imprimir o valor lido,
// se o valor for igual 2 ento imprimir o seu dobro,
// se o valor for igual 3 ento imprimir o seu triplo e
// se o valor for igual 4 ento imprimir o seu qudruplo.
// -------------------------------------------------------// 1 Verso
// --------variaveis
numerico val
inicio
limpar
ler val
faca caso
caso val=1:
escrever
caso val=2:
escrever
caso val=3:
escrever
caso val=4:
escrever
fim_caso
fim
// 2 Verso
// --------variaveis
numerico val
inicio
ler val
faca caso
caso val=1:
escrever
caso val=2:
escrever
caso val=3:
escrever
caso val=4:
escrever
outro_caso:
escrever
fim_caso
fim
"simples
=",val
"dobro
=",val*2
"triplo
=",val*3
"quadruplo =",val*4
"simples
=",val
"dobro
=",val*2
"triplo
=",val*3
"quadruplo =",val*4
"outros casos",val
ILA
12
FACA ENQUANTO
Repete um bloco de procedimentos enquanto o resultado de <expresso>
for verdadeiro.
Sintaxe:
Exemplo:
// Algortmo para ler um nome, 3 notas, calcular e imprimir nome
// e mdia aritmtica das notas.
// Se o nome for igual a fim, terminar o algortmo.
// ------------------------------------------------------------variaveis
numerico not1, not2, not3, med
caracter nome
inicio
limpar
ler nome
faca enquanto nome <> "fim"
ler not1
ler not2
ler not3
med = (not1+not2+not3)/3
escrever "nome = ",nome
escrever "nota1 = ",not1
escrever "nota2 = ",not2
escrever "nota3 = ",not3
Sintaxe:
Comentrios:
Canto superior esquerdo ..
-
(lin, col)
(lin1, col1)
Exemplo:
// Algortmo para criar uma moldura no vdeo.
// -----------------------------------------inicio
limpar
janela 10, 10, 20, 50
fim
LER
L uma entrada do teclado colocando-a em uma varivel.
ILA
13
Sintaxe:
LER <varivel>
Exemplo:
// Algortmo para ler uma varivel nome
// -----------------------------------variaveis
caracter nome
inicio
ler nome
fim
LIMPAR
Limpa uma rea da tela.
Sintaxe:
Comentrios:
Canto superior esquerdo ..
-
(lin, col)
(lin1, col1)
Observao
Caso [lin,col,lin1,col1] sejam omitidos,
valores default: ( 1, 1, 24, 80 )
sero
assumidos
os
Exemplo:
// Algortmo para limpar todo o vdeo, escrever uma frase e aps
// limpar somente a metade inferior.
// ------------------------------------------------------------inicio
limpar
escrever "O valor de 7*45 = ",7*45
limpar 15, 01, 24, 79
fim
ESCREVER
Imprimir no vdeo uma texto qualquer, uma varivel ou uma expresso
aritmtica.
Sintaxe:
Exemplo:
// Algortmo para ler e imprimir uma varivel nome e nmero.
// --------------------------------------------------------variaveis
caracter nome
numerico numero
ILA
14
inicio
ler nome
ler numero
escrever "Nome = ",nome," Numero = ",numero
fim
ESPERAR
Suspende a execuo do algortmo durante um intervalo do tempo em
segundos.
Sintaxe:
ESPERAR( <expr1> )
Comentrios:
<expr1> uma varivel
segundos de espera.
ou
constante
contendo
de
ILA
15
Exemplo:
// Algortmo para imprimir um n aleatrio e esperar 100 seg.
// ---------------------------------------------------------variaveis
numerico num
inicio
num = aleatorio()
escrever "Num. aleatrio", num
esperar(100)
fim
COR
Muda o atributo de cor no vdeo.
Sintaxe:
Comentrio:
<expr1> identifica a frente do vdeo;
<expr2> identifica o fundo do vdeo.
Observao:
Este comando deve ser usado antes dos seguintes comando para ter
efeito: escrever, limpar, janela.
TABELA DE CORES:
0
1
2
3
4
5
preto
azul
verde
ciano
vermelho
magenta
6 - marrom
7 - cinza
8 - preto_intenso
10 - verde_intenso
11 - azul_intenso
12
13
14
15
16
ciano_intenso
vermelho_intensoho
magenta_intenso
amarelo
branco
Exemplos:
cor
cor "preto", "azul"
cor 1, 3
cor c_frente, c_fundo
->
->
->
->
Assume o
PRETO p/
PRETO p/
Contedo
default PRETO
frente e AZUL
frente e AZUL
das variveis
e BRANCO;
p/ fundo;
p/ fundo;
define as cores;
ILA
16
fim
FUNES
ACOS
Calcula o arco cosseno de um nmero.
Sintaxe:
ACOS( <expr1> )
Comentrio:
A funo no faz nenhum tratamento no parmetro <expr1>.
A resposta dada em radianos.
Exemplo:
// Algortmo para calcular o arco cosseno de 45 graus.
// --------------------------------------------------inicio
limpar
escrever "Arco cosseno de 45o = " , ACOS(45)
fim
ALEATORIO
Devolve um nmero aleatrio entre 0 e 1.
Sintaxe:
ALEATORIO()
Comentrio:
O valor devolvido somente do tipo numrico.
Exemplo:
// Algortmo que imprime um nmero aleatrio.
// -----------------------------------------variaveis
numerico num
inicio
num = aleatorio()
escrever "um nmero aleatrio = ", num
fim
ASEN
Calcula o arco seno de um nmero.
Sintaxe:
ASEN( <expr1> )
Comentrio:
A funo no faz nenhum tratamento no parmetro <expr1>.
A resposta dada em radianos.
ILA
17
Exemplo:
// Algortmo para calcular o arco seno de 45 graus.
// -----------------------------------------------inicio
limpar
escrever "Arco Seno de 45o = " , ASEN(45)
fim
ATAN
Calcula o arco tangente de um nmero.
Sintaxe:
ATAN( <expr1> )
Comentrio:
A funo no faz nenhum tratamento no parmetro <expr1>.
A resposta dada em radianos.
Exemplo:
// Algortmo para calcular o arco tangente de 45 graus.
// ---------------------------------------------------inicio
escrever "Arco Tangente de 45o = " , TAN(45)
fim
COMPRIMENTO
Informa o tamanho de uma varivel caracter.
Sintaxe:
COMPRIMENTO( <var2> )
Comentrio:
-
Exemplo:
// Algortmo para ler um nome e imprimir o seu tamanho.
// ---------------------------------------------------variaveis
caracter nome
numerico tam
inicio
ler nome
tam = comprimento(nome)
escrever "Nome lido = ", nome
escrever "Tamanho do campo = ", tam
fim
ILA
18
COS
Calcula o cosseno de um nmero.
Sintaxe:
COS( <expr1> )
Comentrio:
A funo no faz nenhum tratamento no parmetro <expr1>;
A resposta dada em radianos.
Exemplo:
// Algortmo para calcular o cosseno de 45 graus.
// ---------------------------------------------inicio
limpar
escrever "Cosseno de 45o = " , COS(45)
fim
IMPRESSORA
Desvia a sada de informaes enviadas pelo comando ESCREVER para a
impressora;
Sintaxe:
IMPRESSORA()
Comentrio:
A sada default o vdeo;
Este comando deve ser usado antes do comando ESCREVER para
ter efeito;
Exemplo:
// Algortmo para ler e imprimir na impressora uma varivel
// nome e nmero
// --------------------------------------------------------variaveis
caracter nome
numerico numero
inicio
impressora()
// obrigatrio para sada na impressora
ler nome
ler numero
escrever "Nome = ",nome," Numero = ",numero
fim
INTEIRO
Extrai de um nmero qualquer somente a sua parte inteira.
Sintaxe:
INTEIRO( <varivel> )
ILA
19
Exemplo:
// Algortmo para imprimir um no fracionrio e a sua parte
//inteira.
// ------------------------------------------------------variaveis
numerico num
inicio
num = 3.1416
escrever "numero fracionario = ",num
escrever "Parte inteira
= ",inteiro(num)
fim
LOG
Calcula o logartmo de base 10 de um nmero.
Sintaxe:
LOG( <expr1> )
Comentrio:
Devolve o logartmo de base 10 de <expr1>;
A funo LOG no faz nenhum tratamento para validao do
nmero informado.
Exemplo:
// Algortmo que l um nmero e calcula o seu logartmo.
// ----------------------------------------------------variaveis
numerico num, resp
inicio
ler num
resp = log(num)
escrever "Num. = ", num, "Log = ", resp
fim
RAIZ
Calcula a raiz qualquer de um nmero.
Sintaxe:
Comentrio:
<expr1> uma expresso aritmtica ou uma varivel
numrica, indica o radicando;
<expr2> uma expresso aritmtica ou uma varivel
numrica, indica o ndice do radical.
A funo RAIZ no faz nenhum tratamento para validao do
nmero informado.
ILA
20
Exemplo:
// Algortmo que l um nmero, o ndice do radical e extrai a
// raiz qualquer de um nmero.
// ---------------------------------------------------------variaveis
numerico num, resp
inicio
ler num
ler indice
resp = raiz(num,indice)
escrever "Num. lido = ", num
escrever "Raiz ", indice, " = ", resp
fim
RESTO
Calcula o resto da diviso entre dois nmeros.
Sintaxe:
Comentrio:
Devolve o resto da diviso de <expr1> por <expr2>.
Exemplo:
// Algortmo para imprimir o resto da diviso de dois n lidos.
// -----------------------------------------------------------variaveis
numerico num1, num2 , rest
inicio
ler num1
ler num2
rest = resto(num1,num2)
escrever "numero1 = ", num1
escrever "numero2 = ", num2
escrever "Resto da div. de num1/num2 =", rest
fim
RETORNAR
Retorna um valor de uma funo definida pelo usurio.
Sintaxe:
ou,
ou,
RETORNAR()
RETORNAR( <expresso> )
RETORNAR
expresso
Comentrio:
Uma funo pode ou no retornar valores.
ILA
21
SEN
Calcula o seno de um nmero.
Sintaxe:
SEN( <expr1> )`
Comentrio:
A funo no faz nenhum tratamento no parmetro <expr1>.
A resposta dada em radianos.
Exemplo:
// Algortmo para calcular o seno de 45 graus.
// ------------------------------------------inicio
limpar
escrever "Seno de 45o = " , SEN(45)
fim
TAN
Calcula o tangente de um nmero.
Sintaxe:
TAN( <expr1> )
Comentrio:
A funo no faz nenhum tratamento no parmetro <expr1>;
A resposta dada em radianos.
Exemplo:
// Algortmo para calcular o tangente de 45 graus.
// ----------------------------------------------inicio
escrever "Tangente de 45o = " , TAN(45)
fim
TESTEI
Habilita
a
execuo
interpretao.
Sintaxe:
simultnea
de
um
depurador
durante
TESTEI()
Comentrio:
A funo mostrar, durante a execuo do programa, um box
na parte inferior da tela com o nome da varivel corrente e
seu contedo;
Independente
da
habilitao
da
funo
TESTEI(),
o
Interpreta-contedo;
Independente
da
habilitao
da
funo
TESTEI(),
o
Interpretador gerar um arquivo, chamado MESA.MAP, contendo
ILA
22
execuo
simultnea
do
depurador
durante
TESTEF()
VALOR
Converte o contedo de uma varivel caracter em um valor numrico.
Sintaxe:
VALOR( <var1> )
Comentrio:
<var1> uma varivel caracter
transformado para um valor numrico.
cujo
contedo
ser
Exemplo:
// Algortmo que converte uma string para uma varivel numrica.
// ------------------------------------------------------------variaveis
caracter string
numerico numero
inicio
string = "123.89"
numero = valor(string)
escrever "Caracter = ", string
escrever "Numero
= ", numero
fim
VIDEO
Desvia a sada de informaes enviadas pelo comando ESCREVER para o
vdeo.
Sintaxe:
VIDEO()
Comentrio:
A sada default o vdeo.
ILA
Exemplo:
// Algortmo para ler e imprimir na tela uma varivel nome e
// nmero
// --------------------------------------------------------variaveis
caracter nome
numerico numero
inicio
video()
// ou no utiliza nada;
ler nome
ler numero
escrever "Nome = ",nome," Numero = ",numero
fim
23
INTRODUO........................................................................................................................................................................1
DECLARAES.....................................................................................................................................................................1
VARIVEIS
Aritmticos .............................................................................................................................................................................6
Lgicos...................................................................................................................................................................................6
Relacionais.............................................................................................................................................................................6
Concatenao de Campos......................................................................................................................................................7
CONSTANTES ........................................................................................................................................................................7
Np...........................................................................................................................................................................................7
PI............................................................................................................................................................................................7
Verdadeiro .............................................................................................................................................................................7
Falso ......................................................................................................................................................................................8
ESTRUTURAS DE CONTROLE ..........................................................................................................................................8
Se............................................................................................................................................................................................8
Para Prximo.........................................................................................................................................................................9
Faca Caso ............................................................................................................................................................................10
Faa Enquanto.....................................................................................................................................................................12
COMANDOS..........................................................................................................................................................................12
Posicionar............................................................................................................................................................................12
Janela...................................................................................................................................................................................12
Ler........................................................................................................................................................................................12
Limpar..................................................................................................................................................................................13
Escrever ...............................................................................................................................................................................13
Esperar.................................................................................................................................................................................14
Cor .......................................................................................................................................................................................15
FUNES ..............................................................................................................................................................................16
Acos......................................................................................................................................................................................16
Aleatrio ..............................................................................................................................................................................16
Asen......................................................................................................................................................................................16
Atan......................................................................................................................................................................................17
Comprimento .......................................................................................................................................................................17
Cos .......................................................................................................................................................................................18
Impressora ...........................................................................................................................................................................18
Inteiro...................................................................................................................................................................................18
Log .......................................................................................................................................................................................19
Raiz ......................................................................................................................................................................................19
Resto.....................................................................................................................................................................................20
Retornar ...............................................................................................................................................................................20
Sen........................................................................................................................................................................................21
Tan .......................................................................................................................................................................................21
Testei ....................................................................................................................................................................................21
Testef ....................................................................................................................................................................................22
Valor ....................................................................................................................................................................................22
Vdeo ....................................................................................................................................................................................22