Está en la página 1de 25
2310972021 18:05 DocPlayer UNESA ALGORITHMIC LANGUAGE UAL é uma linguagem interpretada para descrig&o de algoritmos em Portugués. Tem por objetivo auxiliar o aprendizado do aluno iniciante em programagaio através da execucaio e visualizagdio das etapas de um algoritmo. Com esse interpretador, os alunos poderaéo implementar seus proprios algoritmos utilizando recursos graficos, ou seja, a representacdo légica desses algoritmos através da animagao, para compreender, de forma rapida e dindmica, como as estruturas por eles desenvolvidas se comportam. Com o intuito de difundir este novo sistema para a comunidade académica, informamos que a linguagem UAL encontra-se disponibilizada gratuitamente, levando-se em considerac&o o leftright, ou seja, o sistema possui codigo 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 Andréa T. Medeiros - andrea@iprj.uerj.br Adriana S, Spallanzani - spallanzani@uol.com.br Versao 2.0 Data: mai/2001 hitps:/Idocplayer.com bri12692993-Deservolide-porjuarez-a-muylaert-hojamt-estacio-brandres-tmedsiros-andrea-ip-uer-or-adriana-s-sp... 1/25 2310972021 18:05 DocPlayer ManUAL Comandos em UAL 1. Introdugao.. 2. Estrutura do UAL 3. Palavras-Chave .. 4. Pontuagao.... 5. Maitsculas e Minusculas 6. Tipos de Dado: 7. Declaragaio de V. 8. Inicializagao de Variaveis 9. Fluxos de Entrada e Saida 10. Precedéncia de Operadores 11. Operadores . 12. Comandos para Tomada de Decisao . 13. Comandos de Repeticao 14. Comandos de Desvio.. 15. Vetores .. 16. Fungées .. 17. UALGraph... ‘ariaveis hitps/Idocplayer.com bri12692993-Deservohide-porjuarez-a-muylaert-hoyjamt-estacio-brandres-tmedsiros-andrea-ip-uer-or-adriana-s-sp... 2125 2310972021 18:05 DocPlayer 1. Inrodugdo A grande dificuldade na concep¢ao e no entendimento de algoritmos é 0 problema do relacionamento dos aspectos ativos e passivos, ou seja, como entender as estruturas dinamicas das possiveis execucdes do algoritmo a partir de sua estrutura estatica. A linguagem UAL visa auxiliar 0 processo de aprendizagem do aluno iniciante em programagao, integrando os aspectos dindmicos e estaticos em uma sé ferramenta, permitindo ao aluno escrever seus programas em “Portugol” - pseudo-linguagem de programacao, executando e visualizando, através de graficos animados, o comportamento ativo do seu algoritmo. Esta linguagem aborda o minimo de blocos basicos (de dados e controle) necessfirios para o aprendizado de algoritmos, os quais encontram-se descritos nos demais itens deste Help. hitps:/Idocplayer.com bri12692993-Deservolide-porjuarez-a-muylaet-hojamt-estacio-brandres-tmedsitos-andrea-ipr-uer-br-adriana-s-sp... 3/25 2310972021 18:05 DocPlayer 2. Estrutura do WAL 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 declaragdes de varidveis, caso existam, conforme o item 7 deste manual e, posteriormente, sio inseridos os blocos de comandos, encerrando-se 0 programa com a palavra-chave fimprog. prog fimprog Um exemplo de programa em UAL é: prog meuPrimeiroPrograma string ola; ola <- “Ola Mundo! imprima ola; fimprog Que também pode ser representado da seguinte forma: prog meuPrimeiroPrograma imprima “Ola Mundo!”; fimprog hitps:/Idocplayer.com bri12692993-Deservolide-porjuarez-a-muylaert-hojamt-estacio-brandres-tmedsiros-andrea-ip-uer-or-adriana-s-sp... 4/25 2310972021 18:05 DocPlayer 3. Palavras-Chave Palavras-chave so palavras reservadas da linguagem, nao podendo as mesmas serem atribuidas a nenhum identificador (nome do programa e das varidveis definidos pelo usuario) pertencente ao programa. Por exemplo, nao podemos ter uma varidvel chamada se. As palayras-chave em UAL sao: prog fimprog int real logico string se senao enquanto faca para leia _imprima div raiz sen cos tan exp log pi abs intreal realint formatar saia continue pare strtam streoncat streopia strprim strelem strcomp strult strnprim strnresto As regras para nomenelatura dos identificadores encontram-se no item Declaragao de Variaveis. hitpsIdocplayer.com br/12692993-Deservovide-porjuarez-a-muylaet-hoJamt-estacio-br-andres-Lmedeiros-andres-py-uer-o-adrana-s-p, 5125 2310972021 18:05 DocPlayer 4. Pontuagao Um sinal de pontuagao é um tipo de palavra-chave abreviada. E um simbolo composto por um ou dois caracteres, que tem um significado especial para o interpretador. O conjunto completo de sinais da linguagem inclui os seguintes simbolos sy # ty CO) C1, 5 ot O sinal *;" encerra uma instrug&o, exceto nos casos em que a mesma possua delimitadores, como no comando enquanto. Esse sinal informa ao interpretador que ocorreu o fim de uma instrugao. Desse modo, podemos ter mais de uma instrucao na mesma linha ou ter uma tinica instrucao em mais de uma linha. O uso dos delimitadores ser demonstrado mais adiante, nos itens 12 e 13, Os simbolos #, /* e */ devem ser inseridos para especificar um comentario. Comentarios em programas sAo mensagens que sé serao vistas pelo programador. sendo completamente ignoradas pelo interpretador. Sao utilizados visando dar maior compreensao ao algoritmo. © simbolo # permite que apenas uma linha seja comentada por vez, como segue o exemplo: # Isto € um comentario # Autor prog meuPrimeiroPrograma string ola; _# Declarando variavel ola ola <- "Olé Mundo!”; imprima ola; fimprog Ja os simbolos /* ¢ */ delimitam o inicio e o fim de um comentario, independente do numero de linhas que © mesmo possua, como no exemplo abaixo: * Este 0 inicio de um comentario Autor Data: Esses comentérios podem ser inseridos em qualquer posigao dentro do programa. O simbolo “\t” efetua uma tabulagao em uma string e o “\n" permite uma quebra de linha na saida do programa. No item 9 é dado um exemplo de suas aplicacdes, juntamente com o comando imprima. hitps/Idocplayer.com bri12692993-Deservolide-porjuarez-a-muylaert-‘hojamt-estacio-brandres-tmedeitos-andrea-ip-uer-or-adriana-s-sp... 6/25 2310972021 18:05 DocPlayer 5. Maidseulas e Mindseulas ‘A linguagem UAL é sensivel a maitisculas e mintsculas em seus identificadores e palavras reservadas. Exemplo: ola, Ola, OLA, olA Sao variaveis diferentes para o UAL. String - Nao é uma palavra reservada como string. Devido a esta diferenga, é recomendavel utilizar um padrao para a nomenclatura dos identificadores. Aconselhamos que 0s identificadores sejam sempre iniciados por letras mimisculas, seguidas de iniciais maitisculas para nomes compostos. hitps:/Idocplayer.com bri12692993-Deservolide-porjuarez-a-muylaet-‘hojamt-estacio-brandres-tmedsitos-andrea-ip-uer-or-adriana-s-sp... 7/25 2310972021 18:05 DocPlayer 6. Tipos de Dados © UAL fornece um conjunto de tipos de dados basico, onde cada um deles serve a um propésito especifico, definindo desse modo, o escopo dos valores que as varidveis podem assumir no programa. Os tipos basicos existentes sao: - representando o conjunto dos ntimeros inteiros; - representando os pontos flutuantes: - representando um conjunto de um ou mais caracteres - representando os valores l6gicos verdadeiro e falso. hitps:iIdocplayer.com bri12692993-Deservolide-porjuarez-a-muylaet-hojamt-estacio-brandres-tmedsiros-andrea-ip-uer-or-adriana-s-sp... 8/25 2310972021 18:05 DocPlayer 7. Declaragdo de Varidveis Todas as varidveis devem ser declaradas antes de serem usadas. Esta declaragao deve ser feita no inicio do programa: As variaveis possuem uma caracteristica em comum: um tipo de dado associado. Isso significa que, além de escolhermos um nome apropriado para uma varidvel, devemos também dizer que tipo de informagao deve ser armazenada nela. Uma declaracao ¢ definida por um tipo, seguido por uma lista de uma ou mais variaveis daquele tipo, tal como o seguinte exemplo: int num2; string resp, nome; As variveis podem ser distribuidas entre declaragées livremente. O exemplo acima poderia ser igualmente escrito como’ int num2; string resp; string nome: Os nomes das varidveis podem ser compostos de letras e digitos, sendo que o primeiro caractere deve ser, obrigatoriamente, uma letra. Identificadores validos: count, teste123, Programa Identificadores invalidos: 123count, Teste_de_loop, Teste...Novo. hitps:/Idocplayer.com bri12692993-Deservolide-porjuarez-a-muylaet-hojamt-estacio-brandres-tmedsiros-andrea-ip-uer-or-adriana-s-sp... 9/25 2310972021 18:05 DocPlayer 8. Inieializagdo de Varidveis Para inicializar uma varidvel, ou seja, atribuir um valor a ela, deve-se proceder da seguinte forma: onde var é o nome da variavel declarada, <- ¢ 0 simbolo de atribuigdo e 4 é 0 valor a ela atribuido. Quando interpretamos as instrugdes acima, os nomes das varidveis so substituidos pelos valores associados na meméria. E importante observar que 0 resultado da expresso do lado direito de um comando de atribuicdo deve ser coerente com 0 tipo declarado para a variavel do lado esquerdo. Ao longo do programa é possivel, através de novas atribuigdes, alterar os valores dessas varidveis na meméria. 10 hitps:/Idocplayer.com bri12692993-Deservolide-por-juarez-a-muylaet-‘hojamt-estacio-brandres-tmedeitos-andrea-ipr-uer-or-adriana-s-s... 10/25 2310972021 18:05 DocPlayer 9. Fluxos de Entrada e Saida © UAL permite que um programa receba ou envie dados para o ambiente externo. Isto pode ocorrer com 0 uso dos comandos leia e imprima, respectivamente. © comando Jeia permite a entrada de um tnico dado, fornecido pelo usuario, através da entrada padrao, que normalmente é © teclado. Ao executarmos esse comando, atribuiremos 0 dado fornecido a uma varidvel, conforme demonstra o seguinte exemplo: intx; leia x; Nesse momento, © programa aguardara a entrada de um valor inteiro que seré armazenado na varidvel x. O usuario deve fornecer esse valor digitando um numero e pressionando, em seguida, a tecla . © comando imprima permite que sejam apresentados na saida padrao, normalmente 0 monitor, mensagens e valores obtidos através da execucdo do programa, como mostra o exemplo abaixo: a =- 400; imprima “\tO valor de a é =“, a, “\n”: Este comando pode acompanhado do comando formatar, que permite delimitar o ntimero de casas decimais de um algarismo em ponto flutuante, de acordo com a sintaxe abaixo: a <- 400.6794; imprima "Valor de a =", formatar(a,2); Cujo resultado sera: lor de a = 400.67 Obs.: © comando formatar converte um ntimero real para o tipo string efetuando o truncamento em suas casas decimais. hitps:/Idocplayer.com bri12692993-Deservolide-porjuarez-a-muylaert-hojamt-estacio-brandres-tmedsiros-andrea-ip-uer}-or-adriana-s-s... 11/25 2310972021 18:05 DocPlayer 10. Preeedéneia de Operadores Todas as operacdes realizadas no UAL obedecem aos critérios de precedéncia dos operadores, conforme a relagao abaixo: Primeiro _ - fungdes e parénteses Segundo _- expressdes aritméticas (poténcia e médulo) Terceiro _- expressdes aritméticas (multiplicagao e divisao) Quarto —_- expressdes aritméticas (adicAo e subtracao) Quinto - operadores relacionais. Sexto - operadores logicos. Na utilizagao normal, operadores de mais alta precedéncia executam as suas operagdes em expressées antes de operadores de menor precedéncia. Por exemplo: =bierd Nesse exemplo, primeiro sera calculado © produto entre ¢ ¢ d, para depois somar 0 resultado a b. Para forcar uma ordem de avaliagao diferente, deve-se fazer uso de parénteses, como no exemplo: ib+ord hitps:/Idocplayer.com bri12692993-Deservolide-porjuarez-a-muylaet-hojamt-estacio-brandres-tmedeitos-andrea-ip-uer-or-adriana-s-s... 12125 2310972021 18:05 DocPlayer 11. Operadores © UAL & composto de operadores - simbolos que executam vérias operagdes sobre os seus argumentos. O sinal de mais (+) é um operador. Em ‘uma expressdo, ele soma dois valores: a) maior ou igual (> menor (=) menor ou igual (<—) igual ( diferente (<> =) hitps:/Idocplayer.com bri12692993-Deservolide-porjuarez-a-muylaert-hojamt-estacio-brandres-tmedsiros-andrea-ip-uer-or-adriana-s-s... 13/25 2310972021 18:05 DocPlayer Operadores légicos: conjuncao (&&) disjungao (||) negacao (!) Esses dois wltimos operadores tem como resultado um valor légico, do tipo verdadeiro ou falso. Operadores de atribuigao: atribuicao (<-) incremento (++) decremento (—) Os operadores de incremento e decremento sao similares A atribuicao, realizando operacdes de adicao e subtracao, respectivamente. Dessa forma, uma varidvel ¢ incrementada ou decrementada em uma unidade. Portanto, essa varidvel deve ser do tipo inteiro, Em uma atribuigdo, ndo podem ser usados operadores de incremento e decremento. Exemplos: x 100) imprima conta; senao imprima “Saldo insuficiente’ Os parénteses, bem como as chaves, so obrigatérios. hitps/Idocplayer.com bri12592993-Deservolide-porjuarez-a-muylaet-ho-jamt-estacie-brandres-tmedsios-andrea-ip-uer-br-adriana ss. 15125 2310972021 18:05 DocPlayer 13. Comandos de Repeticdo Na linguagem UAL, podemos utilizar os comandos enquanto, para ou faca-enquanto, para aplicar instrugdes repetidamente. A INSTRUCAO enquanto © comando enquanto tem sintaxe semelhante a do comando se, bastando inserir uma expresso que retorne um tipo logico apés a palavra- chave enquanto e uma lista de comandos entre chaves, como mostra o exemplo: i<-0: enquanto (i= 10) leia var; int: Nesse comando, a expresstio relacional é avaliada antes da execugiio da instrugAo ou bloco de comandos, ou seja, caso essa expresso seja falsa no inicio da execugao do loop, os comandos nao sero executados. AINSTRUCAO para Quando um programa pode calcular previamente o ntimero de vezes que um bloco de instrugdes deve ser executado, uma instrugio para é normalmente, a melhor escolha para a construgdo da estrutura de repeticao. A instrucao para possui os seguintes elementos: A palavra-chave para; Uma expressao composta por trés partes, entre parénteses: Uma instrugao ou bloco de comandos entre chaves. O comando para combina os trés elementos acima, tendo como formato geral: para (i<-0; i < 10; i++) Jeia var; 16 hitps:Idocplayer.com bri12692993-Deservolide-porjuarez-a-muylaert-hojamt-estacio-brandres-tmedsiros-andrea-ip-uer-or-adriana-s-s... 16/25 2310972021 18:05 DocPlayer Dentro dos parénteses, apés a palavra-chave para, ha trés argumentos que controlam a ago do loop. No primeiro argumento, ha uma instrugao que € executada uma tinica vez, antes do inicio do loop, atribuindo um valor a uma varidvel. A inicializagao e a atribuigao de valor que compdem o primeiro e 0 terceiro argumento do comando para, respectivamente, fazem referéncia a uma mesma varidvel. © segundo argumento é uma expressao relacional que a instrucfo para testa no principio do loop. O tiltimo argumento é executado a0 final do loop, apés a execugao da instrucao ou bloco de comandos, que devem estar entre chaves. Esse argumento pode ser uma atribuicao, um incremento ou decremento, AINSTRUGAO fiaca-enquanto E um tipo de instrugao enquanto invertida, ou seja, ela executa uma ou mais acdes enquanto uma expressao for verdadeira. Exemplo: enquanto (i = 10) Seu funcionamento se diferencia do comando enquanto pelo fato da expresso relacional que controla o loop estar ao final da instrugao, e nzio no seu inicio. Com isso, a instrugao ou o bloco de comandos é executado pelo menos uma vez, pois 0 programa nao avalia a expresso de controle até que tenha executado essas instrucées. Um loop faca-enquanto requer ambas as palavras-chaves: faca, no inicio, e enquanto, no final. As instrugdes a serem executadas s%0 colocadas entre o faca e 0 enquanto, como demonstrado no exemple. hitps:/Idocplayer.com bri12692993-Deservolide-porjuarez-a-muylaet-hojamt-estacio-brandres-tmedeitos-andrea-ip-uer-or-adriana-s-s... 17/25 2310972021 18:05 DocPlayer 14. Commandos de Desvio © UAL tem trés comandos que realizam desvios incondicionais: continue, pare e saia. Destes, vocé pode usar o saia em qualquer Ingar em seu programa. Os comandos pare e continue devem ser utilizados em comandos de repeticao. A INSTRUCAO saia © comando saia permite a saida de um programa. Este comando provoca uma terminacao imediata do programa inteiro, forcando um retorno ao sistema operacional A forma geral do comando saia & saia; A INSTRUGAO pare © comando pare serve para forcar a terminacao imediata de um laco, isto & 0 laco é interrompido evitando o teste condicional. A seguir, sao executados os comandos que sucedem o lago. b<3; para (i<-0:1<10:i++) | a<-btil imprima "a=", a: so(a> 10) { pare; A saida do programa sera: hitps:/Idocplayer.com bri12692993-Deservohide-porjuarez-a-muylaert-hojamt-estacio-brandres-tmedsiros-andrea-ip-uer-or-adriana-s-s... 18/25 2310972021 18:05 DocPlayer A INSTRUGAO continue O comando continue trabalha de uma forma parecida com a do comando pare. Porém, em vez de forcar a terminagaio do Lago, ele forga que ocorra a préxima iteragAo, no executando nenhum cédigo intermediario, b < "Este teste remove os espagos em branco’ para (i<-o; i _ Delimita 0 inicio e fim de um programa Atribuigao Incremento Decremento Enquanto Para Se-Senao Faca-Enquanto Leia Imprima Saia Continue Pare e00BEOOO”d hitpsfidocplayer-com bri*2602993-Deservolvide-porjuarez-a-muylaer-fhojam-estacio-br-andres-tmadeiros-andrea-ip-uer--adriana-s-s.... 25/25

También podría gustarte