Você está na página 1de 11

Curso de Anlise de Sistemas (FEJAL\CCET) 2005 - Noturno

VISUALG 2.0 (Sintaxe, Comandos Seqenciais) Disciplina: Algoritmos Professora.: Fabiana Toledo Fonte: http://www.apoioinformatica.inf.br Conhecendo o VISUALG 2.0 1. A Tela Principal do VisualG 2.0 A tela do VisuAlg compe-se da barra de tarefas, do editor de textos (que toma toda a sua metade superior), do quadro de variveis (no lado esquerdo da metade inferior), do simulador de sada (no correspondente lado direito) e da barra de status. Quando o programa carregado, j apresenta no editor um "esqueleto" de pseudocdigo, com a inteno de poupar trabalho ao usurio e de mostrar o formato bsico que deve ser seguido. Explicaremos a seguir cada componente da interface do VisuAlg.

Fabiana Toledo Vanderlei de Azevedo Graduada em Cincia da Computao Ps-Graduada em Tecnologia da Informao fabianatoledo@globo.com

Curso de Anlise de Sistemas (FEJAL\CCET) 2005 - Noturno

A Barra de Tarefas Contm os comandos mais utilizados no VisuAlg (estes comandos tambm podem ser acessados pelo menu ou por atalhos no teclado).

Abrir (Ctrl-A): Abre um arquivo anteriormente gravado, substituindo o texto presente no editor. Se este tiver sido modificado, o VisuAlg pedir sua confirmao para salv-lo antes que seja sobreposto. Novo (Ctrl-N): Cria um novo "esqueleto" de pseudocdigo, substituindo o texto presente no editor. Se este tiver sido modificado, o VisuAlg pedir sua confirmao para salv-lo antes que seja sobreposto. Salvar (Ctrl-S): Grava imediatamente o texto presente no editor. Na primeira vez que um novo texto gravado, o VisuAlg pede seu nome e localizao. Imprimir: Imprime imediatamente na impressora padro o texto presente no editor. Para configurar a impresso, use o comando Imprimir do menu Arquivo (acessvel tambm pelo atalho Ctrl-P). Cortar (Ctrl-X): Apaga texto selecionado, armazenando-o em uma rea de transferncia. Copiar (Ctrl-C): Copia o texto selecionado para a rea de transferncia. Colar (Ctrl-V): Copia texto da rea de transferncia para o local em que est o cursor. Gravar bloco de texto: Permite a gravao em arquivo de um texto selecionado no editor. A extenso sugerida para o nome do arquivo .inc. Inserir bloco de texto: Permite a insero do contedo de um arquivo. A extenso sugerida para o nome do arquivo .inc. Desfazer (Ctrl-Z): Desfaz ltimo comando efetuado. Refazer (Shift-Ctrl-Z): Refaz ltimo comando desfeito. Localizar (Ctrl-L): Localiza no texto presente no editor determinada palavra especificada. Substituir (Ctrl-U): Localiza no texto presente no editor determinada palavra especificada, substituindo-a por outra. Corrigir Indentao (Ctrl-G): Corrige automaticamente a indentao (ou tabulao) do pseudocdigo, tabulando cada comando interno com espaos esquerda. Numerar linhas: Ativa ou desativa a exibio dos nmeros das linhas na rea esquerda do editor. A linha e a coluna do editor em que o cursor est em um determinado momento tambm so mostradas na barra de status (parte inferior da
Fabiana Toledo Vanderlei de Azevedo Graduada em Cincia da Computao Ps-Graduada em Tecnologia da Informao fabianatoledo@globo.com

Curso de Anlise de Sistemas (FEJAL\CCET) 2005 - Noturno

tela). Por motivos tcnicos, esta opo automaticamente desativada durante a execuo do pseudocdigo, mas volta a ser ativada logo em seguida. Mostrar variveis modificadas: Ativa ou desativa a exibio da varivel que est sendo modificada. Como o nmero de variveis pode ser grande, muitas podem estar fora da janela de visualizao; quando esta caracterstica est ativada, o VisuAlg rola a grade de exibio de modo que cada varivel fique visvel no momento em est sendo modificada. Este recurso especialmente til quando se executa um pseudocdigo passo a passo. Por questes de desempenho, a configurao padro desta caracterstica desativada, quando o pseudocdigo est sendo executado automaticamente. No entanto, basta clicar este boto para execut-lo automaticamente com a exibio ativada. No final da execuo, a configurao volta a ser desativada. Restaurar tela inicial: ???

Executar (F9): Inicia (ou continua) a execuo automtica do pseudocdigo. Executar com timer (Shift-F9):: Insere um atraso (que pode ser especificado no intervalo ao lado) antes da execuo de cada linha. Tambm reala em fundo azul o comando que est sendo executado, da mesma forma que na execuo passo a passo. Intervalo do timer: Atraso em cada linha, para quando se deseja executar o pseudocdigo com timer. Passo (F8): Inicia (ou continua) a execuo linha por linha do pseudocdigo, dando ao usurio a oportunidade de acompanhar o fluxo de execuo, os valores das variveis e a pilha de ativao dos subprogramas. Parar (Ctrl-F2): Termina imediatamente a execuo do pseudocdigo. Evidentemente, este boto fica desabilitado quando o pseudocdigo no est sendo executado. Liga/desliga breakpoint (F5): Insere/remove um ponto de parada na linha em que esteja o cursor. Estes pontos de parada so teis para a depurao e acompanhamento da execuo dos pseudocdigos, pois permitem a verificao dos valores das variveis e da pilha de ativao de subprogramas. Desmarcar todos os breakpoints (Ctrl-F5): Desativa todos os breakpoints que estejam ativados naquele momento. Executar em modo DOS: Com esta opo ativada, tanto a entrada como a sadapadro passa a ser uma janela que imita o DOS, simulando a execuo de um programa neste ambiente.
Fabiana Toledo Vanderlei de Azevedo Graduada em Cincia da Computao Ps-Graduada em Tecnologia da Informao fabianatoledo@globo.com

Curso de Anlise de Sistemas (FEJAL\CCET) 2005 - Noturno

Gerar valores aleatrios: Ativa a gerao de valores aleatrios que substituem a digitao de dados. A faixa padro de valores gerados de 0 a 100 inclusive, mas pode ser modificada (basta alterar intervalo ao lado). Para a gerao de dados do tipo caractere, no h uma faixa pr-estabelecida: os dados gerados sero sempre strings de 5 letras maisculas. Intervalo dos valores aleatrios: Faixa de valores que sero gerados automaticamente, quando esta opo estiver ativada. Perfil (F7): Aps a execuo de um pseudocdigo, exibe o nmero de vezes que cada umas das suas linhas foi executada. til para a anlise de eficincia (por exemplo, nos mtodos de ordenao). Mostrar pilha de ativao (Ctrl-F3): Exibe a pilha de subprogramas ativados num dado momento. Convm utilizar este comando em conjunto com breakpoints ou com a execuo passo a passo. Ajuda (F1): Possibilita acesso s pginas de ajuda e s informaes sobre o VisuAlg.

Quadro de Variveis formado por uma grade na qual so mostrados o escopo de cada varivel (se for do programa principal, ser global; se for local, ser apresentado o nome do subprograma onde foi declarada), seus nomes (tambm com os ndices, nos casos em que sejam vetores), seu tipo ("I" para inteiro, "R" para real, "C" para caractere e "L" para lgico) e o seu valor corrente. A verso atual do VisuAlg permite a visualizao de at 500 variveis (contando individualmente cada elemento dos vetores). A Barra de Status Situada na parte inferior da tela, esta barra contm dois painis: o primeiro mostra a linha e a coluna onde o cursor est, e o segundo mostra a palavra Modificado no caso em que o pseudocdigo tenha sido alterado desde que foi carregado ou salvo pela ltima vez. Nesta barra, h ainda um terceiro painel disponvel, que ainda no tem um uso especfico na atual verso 2. Menu do VISUALG 2.0 Arquivo: Possui os comandos para se abrir, salvar e imprimir algoritmos: Novo: Cria um novo "esqueleto" de pseudocdigo, substituindo o texto existente no editor. Se este texto anterior tiver sido modificado, o VisuAlg pedir sua confirmao para salv-lo antes que seja sobreposto. Abrir: Abre o texto de um pseudocdigo anteriormente gravado, substituindo o texto existente no editor. Se este tiver sido modificado, o VisuAlg pedir sua confirmao para salv-lo antes que seja sobreposto. Salvar: Salva imediatamente o texto presente no editor. Caso seja a primeira vez que um novo texto gravado, o VisuAlg pedir o nome do arquivo e sua localizao. Salvar como: Permite salvar o texto presente no editor exibindo antes uma janela na qual se pode escolher o nome do arquivo e sua localizao.
Fabiana Toledo Vanderlei de Azevedo Graduada em Cincia da Computao Ps-Graduada em Tecnologia da Informao fabianatoledo@globo.com

Curso de Anlise de Sistemas (FEJAL\CCET) 2005 - Noturno

Enviar por email: Permite o envio por email do texto presente no editor. Imprimir: Permite a impresso do algoritmo corrente, mostrando antes a janela de configurao de impresso (o correspondente boto da barra de tarefas imprime imediatamente o texto do pseudocdigo na impressora padro). Sair: Abandona o VisuAlg. Alm destes comandos, h ainda a lista dos 5 ltimos algoritmos utilizados, que podem ser abertos diretamente ao se escolher o seu nome. Editar: Alm dos conhecidos comandos de um editor de texto (copiar, cortar, colar, desfazer, refazer, selecionar tudo, localizar, localizar de novo, substituir), h tambm as seguintes opes: Corrigir indentao: Corrige automaticamente a indentao do pseudocdigo, tabulando cada comando interno com espaos esquerda. Gravar bloco de texto: Permite a gravao em arquivo de um texto selecionado no editor. A extenso sugerida para o nome do arquivo .inc. Inserir bloco de texto: Permite a insero do contedo de um arquivo. A extenso sugerida para o nome do arquivo .inc. Exibir: Possui os comandos para ativar/desativar as seguintes caractersticas: Nmero de linhas: Ativa/desativa a exibio da numerao das linhas na rea esquerda do editor. A numerao corrente da posio do cursor tambm mostrada na primeira parte da barra de status, situada na parte inferior da tela. Por motivos tcnicas, a numerao desativada durante a execuo do pseudocdigo, voltando situao anterior logo em seguida. Variveis modificadas: Ativa/desativa a exibio da varivel que est sendo modificada. Como o nmero de variveis pode ser grande, muitas podem estar fora da janela de visualizao; quando esta caracterstica est ativada, o VisuAlg rola a grade de exibio de modo que cada varivel fique visvel no momento em est sendo modificada. Este recurso especialmente til quando se executa um pseudocdigo passo a passo. Por questes de desempenho, a configurao padro desta caracterstica desativada, quando o pseudocdigo est sendo executado automaticamente. No entanto, basta clicar este boto para execut-lo automaticamente com a exibio ativada. No final da execuo, a configurao volta a ser desativada. Algoritmo: Contm os comandos relativos execuo do algoritmo: Executar: Inicia (ou continua) a execuo automtica do pseudocdigo. Passo a passo: Inicia (ou continua) a execuo linha por linha do pseudocdigo, dando ao usurio a oportunidade de acompanhar o fluxo de execuo, os valores das variveis e a pilha de ativao dos subprogramas. Executar com timer: Insere um atraso (que pode ser especificado) antes da execuo de cada linha. Tambm reala em fundo azul o comando que est sendo executado, da mesma forma que na execuo passo a passo. Parar: Termina imediatamente a execuo do pseudocdigo. Evidentemente, este item fica desabilitado quando o pseudocdigo no est sendo executado. Liga/desliga breakpoint: Insere/remove um ponto de parada na linha em que esteja o cursor. Estes pontos de parada so teis para a depurao e acompanhamento da execuo dos pseudocdigos, pois permitem a verificao dos valores das variveis e da pilha de ativao de subprogramas.
Fabiana Toledo Vanderlei de Azevedo Graduada em Cincia da Computao Ps-Graduada em Tecnologia da Informao fabianatoledo@globo.com

Curso de Anlise de Sistemas (FEJAL\CCET) 2005 - Noturno

Desmarcar todos os breakpoints: Desativa todos os breakpoints que estejam ativados naquele momento. Executar em modo DOS: Com esta opo ativada, tanto a entrada como a sada-padro passa a ser uma janela que imita o DOS, simulando a execuo de um programa neste ambiente. Gerar valores aleatrios: Ativa a gerao de valores aleatrios que substituem a digitao de dados. A faixa padro de valores gerados de 0 a 100 inclusive, mas pode ser modificada. Para a gerao de dados do tipo caractere, no h uma faixa pr-estabelecida: os dados gerados sero sempre strings de 5 letras maisculas. Perfil: Aps a execuo de um pseudocdigo, exibe o nmero de vezes que cada umas das suas linhas foi executada. til para a anlise de eficincia (por exemplo, nos mtodos de ordenao) Pilha de ativao: Exibe a pilha de subprogramas ativados num dado momento. Convm utilizar este comando em conjunto com breakpoints ou com a execuo passo a passo. Cdigos: Permite a traduo automtico do pseudocdigo presente no editor para outras linguagens de programao. Atualmente, apenas a traduo para Pascal est implementada, mas ainda em fase de testes. Ferramentas: Neste menu, possvel configurar algumas opes do VisuAlg: cores e tipos de letras na exibio do pseudocdigo, nmero de espaos para indentao automtica, etc. Ajuda: Entre outras coisas, possibilita acesso s pginas de ajuda e s informaes sobre o VisuAlg. 3. A Linguagem A linguagem que o VisuAlg interpreta bem simples: uma verso portuguesa dos pseudocdigos largamente utilizados nos livros de introduo programao, conhecida como "Portugol". Importante: para facilitar a digitao e evitar confuses, todas as palavras-chave do VisuAlg foram implementadas sem acentos, cedilha, etc. Portanto, o tipo de dados lgico definido como logico, o comando se..ento..seno definido como se..entao..senao, e assim por diante. O VisuAlg tambm no distingue maisculas e minsculas no reconhecimento de palavras-chave e nomes de variveis. Formato Bsico do Pseudocdigo e Incluso de Comentrios O formato bsico do nosso pseudocdigo o seguinte: algoritmo "semnome" // Funo : // Autor : // Data : inicio // Seo de Comandos fimalgoritmo
Fabiana Toledo Vanderlei de Azevedo Graduada em Cincia da Computao Ps-Graduada em Tecnologia da Informao fabianatoledo@globo.com

Curso de Anlise de Sistemas (FEJAL\CCET) 2005 - Noturno

A primeira linha composta pela palavra-chave algoritmo seguida do seu nome delimitado por aspas duplas. Este nome ser usado como ttulo nas janelas de leitura de dados. A seo que se segue a de declarao de variveis, que termina com a linha que contm a palavra-chave inicio. Deste ponto em diante est a seo de comandos, que continua at a linha em que se encontre a palavra-chave fimalgoritmo. Esta ltima linha marca o final do pseudocdigo: todo texto existente a partir dela ignorado pelo interpretador. O VisuAlg permite a incluso de comentrios: qualquer texto precedido de "//" ignorado, at se atingir o final da sua linha. Tipos de Dados O VisuAlg prev quatro tipos de dados: inteiro, real, cadeia de caracteres e lgico. As palavras-chave que os definem so as seguintes (observe que elas no tm acentuao): inteiro: define variveis numricas do tipo inteiro, ou seja, sem casas decimais. real: define variveis numricas do tipo real, ou seja, com casas decimais. caractere: define variveis do tipo string, ou seja, cadeia de caracteres. logico: define variveis do tipo booleano, ou seja, com valor VERDADEIRO ou FALSO. O VisuAlg permite tambm a declarao de variveis estruturadas atravs da palavrachave vetor, como ser explicado a seguir. Nomes de Variveis e sua Declarao Os nomes das variveis devem comear por uma letra e depois conter letras, nmeros ou underline, at um limite de 30 caracteres. As variveis podem ser simples ou estruturadas. No pode haver duas variveis com o mesmo nome. A seo de declarao de variveis comea com a palavra-chave var, e continua com as seguintes sintaxes: <lista-de-variveis> : <tipo-de-dado> Na <lista-de-variveis>, os nomes das variveis esto separados por vrgulas. Exemplos: var a: inteiro nome_do_aluno: caractere sinalizador: logico Note que no h a necessidade de ponto e vrgula aps cada declarao: basta pular linha.. O nmero total de variveis suportado pelo VisuAlg 500.

Fabiana Toledo Vanderlei de Azevedo Graduada em Cincia da Computao Ps-Graduada em Tecnologia da Informao fabianatoledo@globo.com

Curso de Anlise de Sistemas (FEJAL\CCET) 2005 - Noturno

Constantes e Comando de Atribuio O VisuAlg tem trs tipos de constantes: Numricos: so valores numricos escritos na forma usual das linguagens de programao. Podem ser inteiros ou reais. Neste ltimo caso, o separador de decimais o ponto e no a vrgula, independente da configurao regional do computador onde o VisuAlg est sendo executado. O VisuAlg tambm no suporta separadores de milhares. Caracteres: qualquer cadeia de caracteres delimitada por aspas duplas ("). Lgicos: admite os valores VERDADEIRO ou FALSO. A atribuio de valores a variveis feita com o operador <-. Do seu lado esquerdo fica a varivel qual est sendo atribudo o valor, e sua direita pode-se colocar qualquer expresso (constantes, variveis, expresses numricas), desde que seu resultado tenha tipo igual ao da varivel. Alguns exemplos de atribuies, usando as variveis declaradas acima: a <- 3 Valor1 <- 1.5 Valor2 <- Valor1 + a nome_do_aluno <- "Jos da Silva" sinalizador <- FALSO Operadores Aritmticos Operadores unrios, isto , so aplicados a um nico operando. So os operadores aritmticos de maior precedncia. Exemplos: -3, +x. Enquanto o operador unrio - inverte o sinal do seu operando, o operador + no altera o valor em nada o seu valor. Operador de diviso inteira. Por exemplo, 5 \ 2 = 2. Tem a mesma precedncia do operador de diviso tradicional.

+,-

Operadores aritmticos tradicionais de adio, subtrao, multiplicao e diviso. Por conveno, * e / tm precedncia sobre + e -. Para modificar a +,-,*,/ ordem de avaliao das operaes, necessrio usar parnteses como em qualquer expresso aritmtica. MOD Operador de mdulo (isto , resto da diviso inteira). Por exemplo, 8 MOD 3 = ou % 2. Tem a mesma precedncia do operador de diviso tradicional. ^ Operador de potenciao. Por exemplo, 5 ^ 2 = 25. Tem a maior precedncia entre os operadores aritmticos binrios (aqueles que tm dois operandos).

Fabiana Toledo Vanderlei de Azevedo Graduada em Cincia da Computao Ps-Graduada em Tecnologia da Informao fabianatoledo@globo.com

Curso de Anlise de Sistemas (FEJAL\CCET) 2005 - Noturno

Operadores de Caracteres + Operador de concatenao de strings (isto , cadeias de caracteres), quando usado com dois valores (variveis ou constantes) do tipo "caractere". Por exemplo: "Rio " + " de Janeiro" = "Rio de Janeiro".

Operadores Relacionais Respectivamente: igual, menor que, maior que, menor ou igual a, maior ou igual =, <, a, diferente de. So utilizados em expresses lgicas para se testar a relao >, <=, entre dois valores do mesmo tipo. Exemplos: 3 = 3 ( 3 igual a 3?) resulta em >=, VERDADEIRO ; "A" > "B" ("A" est depois de "B" na ordem alfabtica?) <> resulta em FALSO. Importante: No VisuAlg, as comparaes entre strings no diferenciam as letras maisculas das minsculas. Assim, "ABC" igual a "abc". Valores lgicos obedecem seguinte ordem: FALSO < VERDADEIRO. Operadores Lgicos nao ou e xou Operador unrio de negao. nao VERDADEIRO = FALSO, e nao FALSO = VERDADEIRO. Tem a maior precedncia entre os operadores lgicos.. Operador que resulta VERDADEIRO quando um dos seus operandos lgicos for verdadeiro.. Operador que resulta VERDADEIRO somente se seus dois operandos lgicos forem verdadeiros. Operador que resulta VERDADEIRO se seus dois operandos lgicos forem diferentes, e FALSO se forem iguais.

Comandos de Sada de Dados escreva (<lista-de-expresses>) Escreve no dispositivo de sada padro (isto , na rea direita da metade inferior da tela do VisuAlg) o contedo de cada uma das expresses que compem <lista-deexpresses>. As expresses dentro desta lista devem estar separadas por vrgulas; depois de serem avaliadas, seus resultados so impressos na ordem indicada. possvel especificar o nmero de espaos no qual se deseja escrever um determinado valor. Por exemplo, o comando escreva(x:5) escreve o valor da varivel x em 5 espaos, alinhado-o direita. Para variveis reais, pode-se tambm especificar o nmero de casas fracionrias que sero exibidas. Por exemplo, considerando y como uma varivel real, o comando escreva(y:6:2)escreve seu valor em 6 espaos colocando 2 casas decimais. escreval (<lista-de-expresses>). Idem ao anterior, com a nica diferena que pula uma linha em seguida.
Fabiana Toledo Vanderlei de Azevedo Graduada em Cincia da Computao Ps-Graduada em Tecnologia da Informao fabianatoledo@globo.com

Curso de Anlise de Sistemas (FEJAL\CCET) 2005 - Noturno

10

Exemplos: algoritmo "exemplo" var x: real y: inteiro a: caractere l: logico inicio x <- 2.5 y <- 6 a <- "teste" l <- VERDADEIRO escreval ("x", x:4:1, y+3:4) // Escreve: x 2.5 9 escreval (a, "ok") // Escreve: testeok (e depois pula linha) escreval (a, " ok") // Escreve: teste ok (e depois pula linha) escreval (a + " ok") // Escreve: teste ok (e depois pula linha) escreva (l) // Escreve: VERDADEIRO fimalgoritmo Note que o VisuAlg separa expresses do tipo numrico e lgico com um espao esquerda, mas no as expresses do tipo caractere, para que assim possa haver a concatenao. Quando se deseja separar expresses do tipo caractere, necessrio acrescentar espaos nos locais adequados. Comando de Entrada de Dados leia (<lista-de-variveis>) Recebe valores digitados pelos usurio, atribuindo-os s variveis cujos nomes esto em <lista-de-variveis> ( respeitada a ordem especificada nesta lista). .

Veja no exemplo abaixo o resultado:

Fabiana Toledo Vanderlei de Azevedo Graduada em Cincia da Computao Ps-Graduada em Tecnologia da Informao fabianatoledo@globo.com

Curso de Anlise de Sistemas (FEJAL\CCET) 2005 - Noturno

11

algoritmo "exemplo 1" var x: inteiro; inicio leia (x) escreva (x) fimalgoritmo O comando de leitura acima ir exibir uma janela como a que se v ao lado, com a mensagem padro: "Entre com o valor de <nome-de-varivel>" Se voc clicar em Cancelar ou teclar Esc durante a leitura de dados, o programa ser imediatamente interrompido. Comandos de Depurao Nenhum ambiente de desenvolvimento est completo se no houver a possibilidade de se inserir pontos de interrupo (breakpoints) no pseudocdigo para fins de depurao. VisuAlg implementa dois comandos que auxiliam a depurao ou anlise de um pseudocdigo: o comando pausa e o comando debug. 4. Referencias aleatorio algoritmo arquivo ate caractere caso cronometro debug e eco enquanto entao escolha escreva escreval faca falso fimalgoritmo fimenquanto fimescolha fimfuncao fimpara fimprocedimento fimrepita fimse funcao inicio int inteiro interrompa leia limpatela logico mod nao ou outrocaso para passo pausa real procedimento repita retorne se senao timer var vetor verdadeiro xou

Fabiana Toledo Vanderlei de Azevedo Graduada em Cincia da Computao Ps-Graduada em Tecnologia da Informao fabianatoledo@globo.com

Você também pode gostar