Professional Documents
Culture Documents
Faculdade de Computao
PET Cincia da Computao
A Barra de Tarefas
Contm os comandos mais utilizados no VisuAlg (estes comandos tambm podem ser
acessados pelo menu ou por atalhos no teclado).
1
Universidade Federal de Uberlndia
Faculdade de Computao
PET Cincia da Computao
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 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: Retorna a diviso da tela ao formato inicial, caso voc tenha mudado o
tamanho da rea do editor de texto, quadro de variveis ou simulador de sada.
2
Universidade Federal de Uberlndia
Faculdade de Computao
PET Cincia da Computao
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.
Introduo
A linguagem que o VisuAlg interpreta bem simples: uma verso portuguesa dos
3
Universidade Federal de Uberlndia
Faculdade de Computao
PET Cincia da Computao
4
Universidade Federal de Uberlndia
Faculdade de Computao
PET Cincia da Computao
Operadores Aritmticos
5
Universidade Federal de Uberlndia
Faculdade de Computao
PET Cincia da Computao
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 ou Operador de mdulo (isto , resto da diviso inteira). Por exemplo, 8 MOD 3 = 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).
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.
Operador unrio de negao. nao VERDADEIRO = FALSO, e nao FALSO = VERDADEIRO. Tem a maior
nao
precedncia entre os operadores lgicos.
ou Operador que resulta VERDADEIRO quando um dos seus operandos lgicos for verdadeiro.
e Operador que resulta VERDADEIRO somente se seus dois operandos lgicos forem verdadeiros.
xou Operador que resulta VERDADEIRO se seus dois operandos lgicos forem diferentes, e FALSO se forem iguais.
6
Universidade Federal de Uberlndia
Faculdade de Computao
PET Cincia da Computao
escreval (<lista-de-expresses>).
Idem ao anterior, com a nica diferena que pula uma linha em seguida.
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.
7
Universidade Federal de Uberlndia
Faculdade de Computao
PET Cincia da Computao
Se voc clicar em Cancelar ou teclar Esc durante a leitura de dados, o programa ser
imediatamente interrompido.
8
Universidade Federal de Uberlndia
Faculdade de Computao
PET Cincia da Computao
leia (time)
escolha time
caso "Flamengo", "Fluminense", "Vasco", "Botafogo"
escreval (" um time carioca.")
caso "So Paulo", "Palmeiras", "Santos", "Corinthians"
escreval (" um time paulista.")
outrocaso
escreval (" de outro Estado.")
fimescolha
fimalgoritmo
Comandos de Repetio
O VisuAlg implementa as trs estruturas de repetio usuais nas linguagens de programao:
o lao contado para...ate...faca (similar ao for do C), e os laos condicionados
enquanto...faca (similar ao while) e repita...ate (similar ao do_while). A sintaxe destes
comandos explicada a seguir.
Para ... faa
Esta estrutura repete uma seqncia de comandos um determinado nmero de vezes.
para <varivel> de <valor-inicial> ate <valor-limite> [passo
<incremento>] faca
<seqncia-de-comandos>
fimpara
a varivel contadora que controla o nmero de repeties do lao. Na verso atual, deve
<varivel > ser necessariamente uma varivel do tipo inteiro, como todas as expresses deste
comando.
<valor-inicial> uma expresso que especifica o valor de inicializao da varivel contadora antes da
primeira repetio do lao.
<valor-limite > uma expresso que especifica o valor mximo que a varivel contadora pode alcanar.
opcional. Quando presente, precedida pela palavra passo, uma expresso que
especifica o incremento que ser acrescentado varivel contadora em cada repetio do
lao. Quando esta opo no utilizada, o valor padro de <incremento> 1. Vale a
<incremento > pena ter em conta que tambm possvel especificar valores negativos para
<incremento>. Por outro lado, se a avaliao da expresso <incremento > resultar em
valor nulo, a execuo do algoritmo ser interrompida, com a impresso de uma mensagem
de erro.
Indica o fim da seqncia de comandos a serem repetidos. Cada vez que o programa chega
neste ponto, acrescentado varivel contadora o valor de <incremento >, e comparado
fimpara a <valor-limite >. Se for menor ou igual (ou maior ou igual, quando <incremento >
for negativo), a seqncia de comandos ser executada mais uma vez; caso contrrio, a
execuo prosseguir a partir do primeiro comando que esteja aps o fimpara.
<valor-inicial >, <valor-limite > e <incremento > so avaliados uma nica vez
antes da execuo da primeira repetio, e no se alteram durante a execuo do lao, mesmo
que variveis eventualmente presentes nessas expresses tenham seus valores alterados.
No exemplo a seguir, os nmeros de 1 a 10 so exibidos em ordem crescente.
9
Universidade Federal de Uberlndia
Faculdade de Computao
PET Cincia da Computao
Importante: Se, logo no incio da primeira repetio, <valor-inicial > for maior que
<valor-limite > (ou menor, quando <incremento> for negativo), o lao no ser executado
nenhuma vez. O exemplo a seguir no imprime nada.
algoritmo "Numeros de 10 a 1 (no funciona)"
var j: inteiro
inicio
para j de 10 ate 1 faca
escreva (j:3)
fimpara
fimalgoritmo
Esta expresso que avaliada antes de cada repetio do lao. Quando seu
<expresso-lgica>
resultado for VERDADEIRO, <seqncia-de-comandos> executada.
Indica o fim da <seqncia-de-comandos> que ser repetida. Cada vez que a
execuo atinge este ponto, volta-se ao incio do lao para que <expresso-
fimenquanto lgica> seja avaliada novamente. Se o resultado desta avaliao for
VERDADEIRO, a <seqncia-de-comandos> ser executada mais uma vez; caso
contrrio, a execuo prosseguir a partir do primeiro comando aps fimenquanto.
O mesmo exemplo anterior pode ser resolvido com esta estrutura de repetio:
algoritmo "Nmeros de 1 a 10 (com enquanto...faca)"
var j: inteiro
inicio
10
Universidade Federal de Uberlndia
Faculdade de Computao
PET Cincia da Computao
j <- 1
enquanto j <= 10 faca
escreva (j:3)
j <- j + 1
fimenquanto
fimalgoritmo
Importante: Como o lao repita...ate testa sua condio de parada depois de executar
sua seqncia de comandos, esta seqncia poder ser executada uma ou mais vezes.
11
Universidade Federal de Uberlndia
Faculdade de Computao
PET Cincia da Computao
EXERCCIOS PROPOSTOS
01- Crie um programa que dados 3 nmeros, calcule a media aritmtica deles.
02- Crie um programa que dados os dois catetos de um tringulo, calcule o valor de sua hipotenusa.
03- Crie um programa que dados 2 nmeros, imprima o maior entre eles.
04- Crie um programa que dado a nota de um aluno (entre 0 e 10) imprima "Aprovado" para nota
>=6 ou "Reprovado" para nota menor que 6.
05- Crie um programa que contenha um menu, leia dois nmeros inteiros (a e b) e calcule:
a+b, se o usurio escolher a opo 1;
a-b, se o usurio escolher a opo 2.
06- Crie um programa que dado um numero N, imprima na tela a seqncia de 0 ate N.
07- Crie um programa que calcula o fatorial do numero que o usurio inserir.
Referncias:
http://www.apoioinformatica.inf.br/visualg/
12