Você está na página 1de 17

UAL uma linguagem interpretada para descrio de algoritmos em Portugus.

. Tem por objetivo auxiliar o aprendizado do aluno iniciante em programao atravs da execuo e visualizao das etapas de um algoritmo. Com esse interpretador, os alunos podero implementar seus prprios algoritmos utilizando recursos grficos, ou seja, a representao lgica desses algoritmos atravs da animao, para compreender, de forma rpida e dinmica, como as estruturas por eles desenvolvidas se comportam. Com o intuito de difundir este novo sistema para a comunidade acadmica, informamos que a linguagem UAL encontra-se disponibilizada gratuitamente, levando-se em considerao o leftright, ou seja, o sistema possui cdigo aberto, permitindo aos interessados o desenvolvimento de novas funcionalidades, desde que mantida a filosofia inicial do mesmo e mencionadas as autorias.
Desenvolvido por: Juarez A. Muylaert Filho - jamf@estacio.br Andra T. Medeiros - andrea@iprj.uerj.br Adriana S. Spallanzani - spallanzani@uol.com.br Verso 1.1 Data: set/2000

Comandos em UAL
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Introduo Estrutura do UAL Palavras-Chave Pontuao Maisculas e Minsculas Tipos de Dados Declarao de Variveis Inicializao de Variveis Fluxos de Entrada e Sada Precedncia de Operadores Operadores Comandos para Tomada de Deciso Comandos de Repetio Vetores UALGraph 3 4 5 6 7 7 8 9 10 11 12 13 14 16 17

1.
A grande dificuldade na concepo e no entendimento de algoritmos o problema do relacionamento dos aspectos ativos e passivos, ou seja, como entender as estruturas dinmicas das possveis execues do algoritmo a partir de sua estrutura esttica. A linguagem UAL visa auxiliar o processo de aprendizagem do aluno iniciante em programao, integrando os aspectos dinmicos e estticos em uma s ferramenta, permitindo ao aluno escrever seus programas em Portugol pseudo-linguagem de programao, executando e visualizando, atravs de grficos animados, o comportamento ativo do seu algoritmo. Esta linguagem aborda o mnimo de blocos bsicos (de dados e controle) necessrios para o aprendizado de algoritmos, os quais encontram-se descritos nos demais itens deste Help.

2.
Todo programa UAL inicia-se com a palavra reservada prog seguida do nome do programa, que obedece as normas de nomenclatura de identificadores. A seguir, so feitas as declaraes de variveis, caso existam, conforme o item 7 deste manual e, posteriormente, so inseridos os blocos de comandos, encerrando-se o programa com a palavra-chave fimprog. prog <nome do programa> <declarao de variveis> <opcional> <seqncia de comandos> fimprog Um exemplo de programa em UAL : prog meuPrimeiroPrograma string ola; ola <- Ol Mundo!; imprima ola; fimprog Que tambm pode ser representado da seguinte forma: prog meuPrimeiroPrograma imprima Ol Mundo!; fimprog

3.
Palavras-chave so palavras reservadas da linguagem, no podendo as mesmas serem atribudas a nenhum identificador (nome do programa e das variveis definidos pelo usurio) pertencente ao programa. Por exemplo, no podemos ter uma varivel chamada se. As palavras-chave em UAL so: prog senao fimprog int real faca logico para leia string se

enquanto

imprima

As regras para nomenclatura dos identificadores encontram-se no item Declarao de Variveis.

4.
Um sinal de pontuao um tipo de palavra-chave abreviada. um smbolo composto por um ou dois caracteres, que tem um significado especial para o interpretador. O conjunto completo de sinais da linguagem inclui os seguintes smbolos: /* */ # { } ( ) [ ] , ; \n \t

O sinal ; encerra uma instruo, exceto nos casos em que a mesma possua delimitadores, como no comando enquanto. Esse sinal informa ao interpretador que ocorreu o fim de uma instruo. Desse modo, podemos ter mais de uma instruo na mesma linha ou ter uma nica instruo em mais de uma linha. O uso dos delimitadores ser demonstrado mais adiante, nos itens 12 e 13. Os smbolos #, /* e */ devem ser inseridos para especificar um comentrio. Comentrios em programas so mensagens que s sero vistas pelo programador, sendo completamente ignoradas pelo interpretador. So utilizados visando dar maior compreenso ao algoritmo. O smbolo # permite que apenas uma linha seja comentada por vez, como segue o exemplo: # Isto um comentrio # Autor <nome> prog meuPrimeiroPrograma string ola; # Declarando varivel ola ola <- Ol Mundo!; imprima ola; fimprog J os smbolos /* e */ delimitam o incio e o fim de um comentrio, independente do nmero de linhas que o mesmo possua, como no exemplo abaixo: /* Este o incio de um comentrio Autor <nome> Data: <data> */ Esses comentrios podem ser inseridos em qualquer posio dentro do programa. O smbolo \t efetua uma tabulao em uma string e o \n permite uma quebra de linha na sada do programa. No item 9 dado um exemplo de suas aplicaes, juntamente com o comando imprima.
6

5.
A linguagem UAL sensvel a maisculas e minsculas em seus identificadores e palavras reservadas. Exemplo: ola, Ola, OLA, olA So variveis diferentes para o UAL. String - No uma palavra reservada como string. Devido a esta diferena, recomendvel utilizar um padro para a nomenclatura dos identificadores. Aconselhamos que os identificadores sejam sempre iniciados por letras minsculas, seguidas de iniciais maisculas para nomes compostos.

6.
O UAL fornece um conjunto de tipos de dados bsico, onde cada um deles serve a um propsito especfico, definindo desse modo, o escopo dos valores que as variveis podem assumir no programa. Os tipos bsicos existentes so: - representando o conjunto dos nmeros inteiros; - representando os pontos flutuantes; - representando um conjunto de um ou mais caracteres - representando os valores lgicos verdadeiro e falso.

7.
Todas as variveis devem ser declaradas antes de serem usadas. Esta declarao deve ser feita no incio do programa. As variveis possuem uma caracterstica em comum: um tipo de dado associado. Isso significa que, alm de escolhermos um nome apropriado para uma varivel, devemos tambm dizer que tipo de informao deve ser armazenada nela. Uma declarao definida por um tipo, seguido por uma lista de uma ou mais variveis daquele tipo, tal como o seguinte exemplo: int num2; string resp, nome; As variveis podem ser distribudas entre declaraes livremente. O exemplo acima poderia ser igualmente escrito como: int num2; string resp; string nome; Os nomes das variveis podem ser compostos de letras e dgitos, sendo que o primeiro caractere deve ser, obrigatoriamente, uma letra. Identificadores vlidos: count, teste123, Programa. Identificadores invlidos: 123count, Teste_de_loop, Teste...Novo.

8.
Para inicializar uma varivel, ou seja, atribuir um valor a ela, deve-se proceder da seguinte forma: var <- 4; onde var o nome da varivel declarada, <- o smbolo de atribuio e 4 o valor a ela atribudo. Quando interpretamos as instrues acima, os nomes das variveis so substitudos pelos valores associados na memria. importante observar que o resultado da expresso do lado direito de um comando de atribuio deve ser coerente com o tipo declarado para a varivel do lado esquerdo. Ao longo do programa possvel, atravs de novas atribuies, alterar os valores dessas variveis na memria.

9.
O UAL permite que um programa receba ou envie dados para o ambiente externo. Isto pode ocorrer com o uso dos comandos leia e imprima, respectivamente. O comando leia permite a entrada de um nico dado, fornecido pelo usurio, atravs da entrada padro, que normalmente o teclado. Ao executarmos esse comando, atribuiremos o dado fornecido a uma varivel, conforme demonstra o seguinte exemplo: int x; leia x; Nesse momento, o programa aguardar a entrada de um valor inteiro que ser armazenado na varivel x. O usurio deve fornecer esse valor digitando um nmero e pressionando, em seguida, a tecla <Enter>. O comando imprima permite que sejam apresentados na sada padro, normalmente o monitor, mensagens e valores obtidos atravs da execuo do programa, como mostra o exemplo abaixo: a <- 400; imprima \tO valor de a = , a, \n;

10

10.
Todas as operaes realizadas no UAL obedecem aos critrios de precedncia dos operadores, conforme a relao abaixo: Primeiro - parnteses Segundo - expresses aritmticas (multiplicao e diviso) Terceiro - expresses aritmticas (adio e subtrao) Quarto - operadores relacionais. Quinto - operadores lgicos. Na utilizao normal, operadores de mais alta precedncia executam as suas operaes em expresses antes de operadores de menor precedncia. Por exemplo: a=b+c*d Nesse exemplo, primeiro ser calculado o produto entre c e d, para depois somar o resultado a b. Para forar uma ordem de avaliao diferente, deve-se fazer uso de parnteses, como no exemplo: a = (b + c) * d

11

11.
O UAL composto de operadores - smbolos que executam vrias operaes sobre os seus argumentos. O sinal de mais (+) um operador. Em uma expresso, ele soma dois valores: a <- b + c; As variveis a, b, c poderiam ser de quaisquer tipos numricos de dados. Nesta operao, b acrescentado a c, sendo o resultado atribudo varivel a. O sinal de atribuio <- nessa expresso tambm um operador, com a capacidade nica de copiar um valor a sua direita para a varivel a sua esquerda. No UAL, existem operadores aritmticos, relacionais, lgicos e de atribuio, que esto demonstrados abaixo. Operaes aritmticas: adio (+) subtrao (-) multiplicao (*) diviso (/) Essas operaes devem ser efetuadas apenas com os operandos de um mesmo tipo. Operadores relacionais: maior (>) maior ou igual (>=) menor (<) menor ou igual (<=) igual (=) diferente (<>) Operadores lgicos: conjuno (&&) disjuno (||) negao (!) Esses dois ltimos operadores tem como resultado um valor lgico, do tipo verdadeiro ou falso.

12

Operadores de atribuio: atribuio (<-) incremento (++) decremento () Os operadores de incremento e decremento so similares atribuio, realizando operaes de adio e subtrao, respectivamente. Dessa forma, uma varivel incrementada ou decrementada em uma unidade. Portanto, essa varivel deve ser do tipo inteiro. Em uma atribuio, no podem ser usados operadores de incremento e decremento. Exemplos: x <- a; # x recebe o valor de a. x; # x decrementado em 1. x <- x-1; # operao idntica a anterior. x++; # x incrementado em 1. x <- x++ ou x <- x; # operaes no permitidas.

12.
O comando utilizado para tomada de decises no UAL o se, que acompanhado, opcionalmente, pelo senao. Sua sintaxe bastante simples, necessitando acrescentar uma expresso que retorne um tipo lgico aps a palavra-chave se e uma lista de comandos, caso o senao seja utilizado, tambm haver uma lista de comandos. Por exemplo, para exibir o valor de uma varivel conta apenas se este valor for maior do que 100, pode-se utilizar a seguinte instruo: se (conta > 100) { imprima conta; } senao { imprima Saldo insuficiente.; } Os parnteses, bem como as chaves, so obrigatrios.
13

13.
Na linguagem UAL, podemos utilizar os comandos enquanto, para ou facaenquanto, para aplicar instrues repetidamente. A INSTRUO enquanto O comando enquanto tem sintaxe semelhante a do comando se, bastando inserir uma expresso que retorne um tipo lgico aps a palavra-chave enquanto e uma lista de comandos entre chaves, como mostra o exemplo: i <- 0; enquanto ( i < 10) { leia var; i++; } Nesse comando, a expresso relacional avaliada antes da execuo da instruo ou bloco de comandos, ou seja, caso essa expresso seja falsa no incio da execuo do loop, os comandos no sero executados.

A INSTRUO para Quando um programa pode calcular previamente o nmero de vezes que um bloco de instrues deve ser executado, uma instruo para normalmente, a melhor escolha para a construo da estrutura de repetio. A instruo para possui os seguintes elementos: A palavra-chave para; Uma expresso composta por trs partes, entre parnteses; Uma instruo ou bloco de comandos entre chaves. O comando para combina os trs elementos acima, tendo como formato geral: para (i<-0; i < 10; i++) { leia var; }

14

Dentro dos parnteses, aps a palavra-chave para, h trs argumentos que controlam a ao do loop. No primeiro argumento, h uma instruo que executada uma nica vez, antes do incio do loop, atribuindo um valor a uma varivel. A inicializao e a atribuio de valor que compem o primeiro e o terceiro argumento do comando para, respectivamente, fazem referncia a uma mesma varivel. O segundo argumento uma expresso relacional que a instruo para testa no princpio do loop. O ltimo argumento executado ao final do loop, aps a execuo da instruo ou bloco de comandos, que devem estar entre chaves. Esse argumento pode ser uma atribuio, um incremento ou decremento.

A INSTRUO faca-enquanto um tipo de instruo enquanto invertida, ou seja, ela executa uma ou mais aes enquanto uma expresso for verdadeira. Exemplo: i <- 0; faca { leia var; i++; } enquanto (i < 10) Seu funcionamento se diferencia do comando enquanto pelo fato da expresso relacional que controla o loop estar ao final da instruo, e no no seu incio. Com isso, a instruo ou o bloco de comandos executado pelo menos uma vez, pois o programa no avalia a expresso de controle at que tenha executado essas instrues. Um loop faca-enquanto requer ambas as palavras-chaves: faca, no inicio, e enquanto, no final. As instrues a serem executadas so colocadas entre o faca e o enquanto, como demonstrado no exemplo.

15

14.
Os vetores renem vrias informaes de um mesmo tipo em uma nica estrutura. Para isso, necessrio declarar, alm do nome do vetor, o seu tamanho. Devemos informar antecipadamente quantos elementos o vetor ir armazenar dentro dele, ou seja, seu tamanho esttico (no varia com a execuo do programa). No exemplo abaixo, declaramos um vetor do tipo inteiro com 10 posies. int x[10]; Cada elemento de um vetor tratado como se fosse uma varivel simples. Para referncia a um elemento do vetor, utiliza-se o nome do vetor seguido da identificao do elemento (ndice) entre colchetes. Esse ndice deve ser do tipo inteiro. Exemplo: x[0] <- 0; x[9] <- 9; No UAL, o primeiro elemento de um vetor sempre representado pelo ndice 0, ou seja, se um vetor contiver 10 posies, seus ndices iro variar de 0 a 9.

16

15.
O Mdulo UALGraph permite a execuo dos programas fontes feitos em UAL em um ambiente grfico, ou seja, possvel visualizar a representao lgica desses algoritmos atravs da animao, para compreender, de forma rpida e dinmica, como as estruturas desenvolvidas se comportam. Os smbolos que representam a estrutura do programa seguem os seguintes padres:

Delimita o incio e fim de um programa Atribuio Incremento Decremento Enquanto

Para

Se-Seno

Faa-Enquanto

Leia

Imprima

17

Você também pode gostar