Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
Apostila de VisuAlg
JOINVILLE - SC
2016
ANDRESSA MAYARA UMETSU
CHRISTIAN J. PEREIRA
GABRIEL MAZZOLENI PINTO
JANINE KNIESS
LUCIANA RITA GUEDES
RUI JORGE TRAMONTIN JUNIOR
Apostila de VisuAlg
JOINVILLE - SC
2016
Resumo
O contedo presente nesta apostila foi criado com o propsito de ser uma base de auxlio
ao aluno na disciplina de algoritmos, a qual trabalha com a ferramenta VisuAlg. Como a ferra-
menta direcionada para alunos iniciantes de programao, h uma breve explicao de lgica
de programao agregado aos comandos do VisuAlg. Ao fim de cada captulo, sero apresen-
tados exemplos para cada assunto abordado, assim como, exerccios de fixao. O material foi
baseado na primeira verso da apostila, a qual foi modificada com adies de definies mais
extensas de estruturas de programao, novos exerccios e novos exemplos.
1 Introduo 6
2 VisuAlg 7
2.2 Variveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4 Operadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3 Entrada e Sada 16
3
3.3.2 Nmero de vrtices de um objeto geomtrico . . . . . . . . . . . . . . 20
4 Estruturas de Seleo 22
5 Estruturas de Repetio 32
5.4.1 Tabuada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.4.2 Fatorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
6 Vetores e Matrizes 41
6.1 Vetor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
6.2 Matriz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4
6.3.2 Matriz de inteiros e diferentes somas de seus elementos . . . . . . . . . 46
7 Sub-algoritmos 49
7.0.3 Parmetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.1 Procedimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.2 Funes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
8 Outros Comandos 63
Introduo
O software VisuAlg tem como objetivo permitir alunos iniciantes em programao, pra-
ticar os algoritmos e os problemas de forma mais simples. O Visualg foi desenvolvido por
Cludio Morgado de Souza, seu e-mail: pcmorgado@apoioinformatica.com.br. O soft-
ware de livre uso e distribuio, atualmente est na verso 2.5.
6
Captulo 2
VisuAlg
algoritmo semnome
// Funo
// Autor:
// Data:
// Seo de Declaraes
7
var
inicio
// Seo de Comandos
fimalgoritmo
2.2 Variveis
Varivel tem como definio ser tudo aquilo que sujeito a variaes, que instvel
ou inconstante. Em algoritmos, variveis so palavras que em um dado instante guardam um
determinado contedo, e ao decorrer das operaes seguintes seu contedo pode ser alterado.
Contudo, o contedo recebido deve ser sempre do mesmo tipo.
Desse modo devem ser especificados os detalhes das variveis que sero utilizadas.
Esses detalhes so: tipo do dado e nome.
"Podemos definir um tipo de dados como um conjunto de objetos que tem em co-
mum o mesmo comportamento diante de um conjunto definido de operaes"[2]
No VisuAlg h quatro tipos de dados: inteiro, real, cadeia de caracteres e lgico (boole-
ano).
8
real: define variveis numricas do tipo real, ou seja, com casas decimais. O separador
de decimais o ponto e no a vrgula. Ex: 10.5, -5.8:
caractere: define variveis do tipo cadeia de caracteres, contendo letras, nmeros e sm-
bolos especiais. As aspas caracterizam esse tipo de dado. Ex: "Joo", "casa", "1", "+";
logico: define variveis do tipo booleano, ou seja, s poder ser representado por um dos
dois valores VERDADEIRO ou FALSO.
No VisuAlg, para serem vlidos os nomes das variveis, seguem as seguintes regras:
Possuir como primeiro caractere uma letra ou underline _, os outros caracteres seguintes
podem ser letras, nmeros e underline;
Exemplos:
9
Palavras Reservadas
aleatorio div grauprad passo
abs e inicio pausa
algoritmo eco int pi
arccos enquanto interrompa pos
arcsen entao leia procedimento
arctan escolha literal quad
arquivo escreva log radpgrau
asc exp logico raizq
ate faca logn rand
caracter falso maiusc randi
caso fimalgoritmo mensagem repita
compr fimescolha minusc se
copia fimfuncao nao sen
cos fimpara numerico senao
cotan fimprocedimento numpcarac timer
cronometro fimrepita ou tan
debug fimse outrocaso verdadeiro
declare funcao para xou
var
<varivel 1>, <varivel 2>,..., <varivel n>: <tipo de dado>
Onde, <varivel i> o nome escolhido para uma varivel e <tipo de dado> determina
que tipo de valor as n variveis podero receber. Os nomes das variveis so separados por
","vrgulas, e seguidos de : dois pontos e finalmente informar o tipo daquela varivel ou lista
de variveis. A seguir um exemplo de declarao:
var
x: inteiro
y, soma: real
nome: caractere
sinal: logico
10
Valores Iniciais
inteiro 0
real 0
caractere
logico FALSO
Do lado esquerdo fica a varivel qual est sendo atribudo o valor, e sua direita pode-
se colocar qualquer expresso como constantes nmericas, variveis, expresses numricas,
caracteres. Desde que o valor a ser atribudo tenha tipo igual ao da varivel. Exemplo de
atribuio:
x <- 5
y <- 10.5
soma <- x + y
nome <- Joo da Silva
sinal <-verdadeiro
2.4 Operadores
11
Equao tradicional Equao computacional
basealtura
2
(base altura)/ 2
2
3
(5 3) + 1 5 ((2/3 (5 3)) + 1) 5
Operadores Aritmticos
Adio +
Subtrao
Multiplicao
Diviso /
Diviso Inteira \ ou div
Exponenciao ou exp(<base>, <expoente>)
Resto da Diviso % ou mod
12
2 igual a 3?
2=3
FALSO.
2 + 5 maior que 4 ?
2+5>4
VERDADEIRO.
3 diferente de 3?
3 <> 3
FALSO.
Operadores Relacionais
Maior >
Menor <
Maior ou Igual >=
Menor ou Igual <=
Igual =
Diferente <>
13
Conjuno
Disjuno
Disjuno Exclusiva
Negao
A operao de negao nega uma afirmao, invertendo seu valor: caso seja FALSO,
torna-se VERDADEIRO. Exemplo de Negao:
14
Operadores Lgicos
Conjuno e
Disjuno ou
Disjuno Exclusiva xou
Negao nao
inicio
// Seo de Comandos
<instruo 1>
<instruo 2>
...
<instruo n>
fimalgoritmo
Exemplo:
15
Captulo 3
Entrada e Sada
Para criar um algoritmo que seja executvel dentro de um computador, este algoritmo
deve ser composto de entrada, processamento e sada. A entrada o meio pelo qual o usurio
pode informar dados. O processamento onde ocorre a manipulao e clculos dos dados, para
ento chegar a resoluo de uma determinada tarefa ou problema. Por fim, a sada retorna o re-
sultado do processamento. A seguir sero descritos os comandos de entrada e sada no VisuAlg,
e nos prximos captulos sero apresentados comandos que auxiliaro no processamento.
A entrada o meio pelo qual o usurio pode informar dados que sero atribuidos a
variveis e utilizados no processamento. No VisuAlg o comando de entrada o leia. A sintaxe
deste comando :
var
<varivel 1>, <varivel 2>,...,<varivel n>: <tipo de dado>
...
leia (<varivel 1>, <varivel 2>, ..., <varivel n>)
Ao utilizar o comando leia, aparecer uma tela esperando o usurio informar os da-
dos. Toda varivel usada no leia deve ser declarada anteriormente. A seguir um exemplo da
utilizao do comando leia:
16
algoritmo Exemplo de leia
var
x: inteiro
y, soma: real
nome: caractere
sinal: logico
inicio
// Seo de Comandos
leia ( x ) // valor atribudo a x ser de acordo com usurio
leia ( y ) // valor atribudo a y ser de acordo com usurio
soma <- x + y // valor atribudo a soma ser de acordo com duas entradas
leia ( nome )
leia ( sinal )
fimalgoritmo
Deve estar claro que sempre direita do comando leia haver uma ou mais variveis.
Assim, so incorretos os seguintes comandos:
leia ( NumeroConta + 60 )
leia ( 12345 )
leia ( NomeCliente + Sobrenome )
Caso o usurio informe um dado diferente do esperado, o VisuAlg mostrar uma tela de
erro, avisando que o algoritmo esperava determinado tipo de dado. Por exemplo, utilizando o
exemplo de algoritmo descrito acima, em que h leitura das variveis x, y, nome e sinal. Caso
o usurio digite um valor real qualquer como 2.3 na primeira linha de entrada de dados, onde x
do tipo inteiro. Consequentemente, o programa ir parar e avisar sobre erro de inconsistncia
entre o tipo informado e o esperado. O nico caso em que no ocorrer erro a entrada de
dados para tipo lgico, qualquer entrada diferente da palavra VERDADEIRO, ser atribudo a
varivel lgica o valor FALSO.
A sada de dados o meio pelo qual o usurio pode visualizar o resultado do processa-
mento do algoritmo. No VisuAlg h dois comandos de sada, so o escreva e o escreval, suas
finalidades so diferentes. As sintaxes destes comandos so:
17
// escreva, mostra as n expresses
escreva ( <expresso 1>, <expresso 2>, ..., <expresso n> )
// escreval, mostra as n expresses e pula uma linha em seguida
escreval ( <expresso 1>, <expresso 2>, ..., <expresso n> )
A <expresso i> o valor que aparecer na tela, a qual pode ser um texto, contedo
de uma varivel ou uma expresso matemtica. A sada pode intercalar textos com variveis.
Exemplo:
Sada do algoritmo
Sada do algoritmo
Joo da Silva
verdadeiro
O valor de x: 5
10.5 o valor de y.
A soma de 5 e 10.5 15.5
18
Caso sejam desejados espaos em branco antes de escrever um determinado valor,
possvel especificar o nmero de espaos que se deseja. 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 decimais 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.
//Espaos em branco
//N, M, Z so nmero de espaos em branco antes de escrever
escreva (<expresso 1>:<N>, <expresso 2>:<M>, ..., <expresso n>:<Z>)
escreval (<expresso 1>:<N>, <expresso 2>:<M>, ..., <expresso n>:<Z>)
//Casas Decimais
//A, B, C so o nmero de casas decimais
escreva (<expresso 1>:<N>:<A>, <expresso 2>:<M>:<B>, ..., <expresso n>:<Z>:<C>)
escreval (<expresso 1>:<N>:<A>, <expresso 2>:<M>:<B>, ..., <expresso n>:<Z>:<C>)
[Manzano, 2003, 3.8] Criar um algoritmo que receba o raio e efetue o clculo da rea
de uma circunferncia, apresentando a medida da rea calculada.
Algoritmo em VisuAlg:
19
algoritmo Area Circunferncia
//Funo: Calcular a rea de uma circunferncia
// Autor: Autores da Apostila
// Data: 2015
//Seo de Declaraes
var
A, R: real
inicio
// Seo de Comandos
escreva (Informe valor do raio: )
leia ( R )
A <- pi * exp (R, 2)
escreva (rea da cicunferncia : , A)
fimalgoritmo
Sada do algoritmo
Observao: O valor lido em leia( R ), foi uma escolha apenas para ilustrao do exem-
plo.
[Medina e Marco, 2005, 2.5] Sabendo que a relao entre vrtices, arestas e faces de
um objeto geomtrico dada pela frmula: vertices + faces = arestas + 2. Dado o nmero de
faces e arestas (nmero inteiro e positivo), calcule o nmero de vrtices de um objeto geomtrico
genrico. Ao fim mostre o nmero de vrtices.
1. Determinar as vriaveis que sero utilizadas, vertices, faces e arestas do tipo inteiro.
Algoritmo em VisuAlg:
20
algoritmo Nmero de Vrtices
//Funo: Calcular o nmero de vrtices de um objeto geomtrico genrico
// Autor: Autores da Apostila
// Data: 2015
//Seo de Declaraes
var
vertices, faces, arestas: inteiro
inicio
// Seo de Comandos
escreva (Entre com o nmero de faces do objeto gomtrico: )
leia ( faces )
escreva (Entre com o nmero de arestas do objeto gomtrico: )
leia ( arestas )
vertices <- arestas - faces + 2
escreva (O nmero de vrtices do objeto especificado : , vertices)
fimalgoritmo
Sada do algoritmo
Observao: Os valores para faces e arestas foram escolhidos apenas para ilustrao do
exemplo.
1. [Medina e Marco, 2005, 2.5] Faa um algoritmo que calcule a mdia de quatro nmeros
introduzidos pelo usurio.
2. [Medina e Marco, 2005, 2.5] Faa um algoritmo que receba a temperatura em graus
Celsius e apresente-a em graus Fahrenheit, de acordo com a frmula F = (1.8 C) + 32.
4. Escreva um algoritmo que calcule o nmero de notas que deve ser dado de troco para um
pagamento efetuado. O algoritmo deve ler o valor a ser pago, e o valor realmente pago.
Supor que o troco seja dado em notas de 50, 20, 10, 5, 2 e 1 real, dando sempre a menor
quantidade de notas.
21
Captulo 4
Estruturas de Seleo
No Visualg h dois comandos para seleo, so eles o comando se. . . entao . . . fimse e
escolha. . . caso
O comando de seleo se. . . entao . . . fimse, tem por finalidade fazer comparaes de
tal forma que possamos simular uma deciso. H dois tipos de comandos para estruturas de
seleo, a simples e a composta. Descritas a seguir:
No caso do se simples, existe apenas uma alternativa a ser escolhida, ou ela executa a
parte VERDADEIRA ou segue com o fluxo do programa. Apresentando a sua sintaxe:
22
se <condio> entao
<instrues para condio verdadeira>
fimse
10 5
15
Entradas Vlidas? VERDADEIRO
-1 5
Entradas Vlidas? FALSO
importante frisar que sempre direita do comando dever parecer uma expresso
lgica. Assim, os seguintes comandos so incorretos:
23
se (x > y) e (x > z) ou (y <> z) entao
se nao Achou entao // Correto, se a palavra Achou for uma varivel lgica
se <condio> entao
<instrues para condio verdadeira>
senao
<instrues para condio falsa>
fimse
A estrutura de seleo composta possui forma muito similar com a simples, sua nica
diferena presena da palavra-chave senao, logo aps as instrues para condio verdadeira.
Nesta outra forma do comando, a condio analisada e se o resultado for VERDADEIRO,
todas as instrues at a palavra senao so executadas, e a execuo continua a partir da primeira
linha depois do fimse. Se o resultado for FALSO, estes comandos so ignorados e as instrues
a partir do senao so executadas at a linha fimse. Exemplo de seleo composta:
24
Sada do algoritmo: Caso 1
10 5
15
-1 5
Entradas Invlidas!
25
inicio
// Seo de Comandos
escreval (Digite dois valores, e operao que deseja + ou - )
leia ( x , y , opcao)
escolha opcao
caso +
resultado <- x + y
escreval ( resultado )
caso -
resultado <- x - y
escreval ( resultado )
outrocaso
escreva (Opo Invlida!)
fimescolha
fimalgoritmo
[Manzano, 2003, 4.6] Ler trs valores para os lados de um tringulo, considerando
lados como: A, B e C. Verificar se os lados fornecidos formam realmente um tringulo, e se
for esta condio verdadeira, dever ser indicado qual tipo de tringulo foi formado: issceles,
escaleno ou equiltero.
26
Algoritmo: Para estabelecer este algoritmo, necessrio em primeiro lugar saber o que
realmente um tringulo. Tringulo uma forma geomtrica composta por trs lados, sendo
que cada lado menor que a soma dos outros dois lados. Perceba que isto uma condio,
tringulo quando A < B + C, quando B < A + C e quando C < A + B. Depois de verificar
que os valores informados forma um tringulo, deve ser analisado qual o tipo de tringulo
formado: issceles, escaleno ou equiltero. Um tringulo issceles quando possui dois lados
iguais e um diferente, sendo A = B ou A = C ou B = C; escaleno quando possui todos os
lados diferentes, sendo A <> B e B <> C e equiltero quando possui todos os lados iguais,
sendo A = B e B = C.
2. Verificar dados informados formam um tringulo, se sim, verificar qual o tipo do trin-
gulo;
Algoritmo em VisuAlg:
27
Sada do algoritmo: Caso 1
3 3 3
Tringulo Equiltero
3 3 2
Tringulo Essceles
5 3 2
Tringulo Escaleno
Algoritmo em VisuAlg:
28
algoritmo Menu Identificao
//Funo: Identificar: par ou mpar; positivo, negativo ou zero; ano bissexto
// Autor: Autores da Apostila
// Data: 2015
//Seo de Declaraes
var
n, opcao: inteiro
inicio
// Seo de Comandos
escreva (Entre com o valor a ser testado: )
leia ( n )
escreva (Voc pretende identificar se o nmero : )
escreva (Opo 1: Par ou mpar: )
escreva (Opo 2: Positivo, negativo ou 0: )
escreva (Opo 3: Ano Bissexto: )
leia ( opcao )
escolha opcao
caso 1
se n mod 2 = 0 entao
escreva (Nmero par.)
senao
escreva (Nmero mpar.)
caso 2
se n > 0 entao
escreva (Nmero positivo.)
senao
se n < 0 entao
escreva (Nmero negativo.)
senao
escreva (Nmero zero.)
caso 3
se ((n mod 4 = 0) e (n mod 100 <> 0)) ou (n mod 400 = 0)entao
escreva (Ano bissexto.)
senao
escreva (Ano no bissexto.)
outrocaso
escreva (Opo invlida.)
fimescolha
fimalgoritmo
29
Sada do algoritmo: Caso 1
1. [Manzano, 2003, 4.7] Ler quatro valores referentes a quatro notas escolares de um aluno
e imprimir uma mensagem dizendo que o aluno foi aprovado, se o valor da mdia escolar
for maior ou igual a 7. Se o aluno no foi aprovado, indicar uma mensagem informando
esta condio. Apresentar junto das mensagens o valor da mdia do aluno para qualquer
condio.
2. [Manzano, 2003, 4.7] Efetuar leitura de quatro nmeros inteiros e apresentar os nmeros
que so divisveis por 2 e 3.
3. [Manzano, 2003, 4.7] Efetuar leitura de quatro nmeros inteiros e apresentar os nmeros
que so divisveis por 2 ou 3.
4. Faa um algoritmo que receba o valor do salrio de uma pessoa e o valor de um finan-
30
ciamento pretendido. Caso o financiamento seja menor ou igual 5 vezes o salrio da
pessoa, o algoritmo dever escrever Financiamento Concedido, se no, ele dever es-
crever Financiamento Negado. Independente de conceder ou no o financiamento, o
algoritmo escrever depois a frase: Obrigado por nos consultar.
Se I no for um dos trs valores acima, dar uma mensagem indicando isto.
31
Captulo 5
Estruturas de Repetio
Nos exemplos e exerccios que foram apresentados at agora sempre foi possvel resol-
ver os problemas com uma sequncia de instrues, onde todas eram necessariamente executa-
das uma nica vez. Os algoritmos seguiam, portanto, apenas uma sequncia linear de operaes.
Veja, por exemplo, um algoritmo para ler os nomes e as notas das provas de trs alunos e cal-
cular suas mdias. Uma possvel soluo seria repetir o trecho de cdigo do algoritmo trs
vezes. A soluo acima vivel apenas para uma turma de poucos alunos; para uma turma de
40 alunos, a codificao da soluo seria bem trabalhosa. Nesta seo, ser apresentado um
conjunto de estruturas de repetio que permitem que um trecho de um algoritmo seja repetido
um determinado nmero de vezes, sem que o cdigo correspondente tenha que ser escrito mais
de uma vez. O VisuAlg possui trs estruturas de repetio: repita . . . ate; enquanto . . . faca
e para . . . faca. Todas as repeties tm uma caracterstica em comum: o fato de haver uma
verificao de condio, para determinar se a repetio prossegue ou no.
32
repita
<instrues>
ate <expresso lgica>
A <expresso lgica> deve ser pensada como uma condio de parada da repetio.
Exemplo:
Sada do algoritmo
1 2 3 4 5 6 7 8 9 10
Toda estrutura repita . . . ate que utiliza como auxlio uma varivel de controle deve
conter:
33
5.2 Comando Enquanto . . . Faca
Sada do algoritmo
1 2 3 4 5 6 7 8 9 10
para <varivel> de <valor inicial> ate <valor final> passo <incremento> faca
<instrues>
fimpara
34
Na estrutura para . . . faca, a <varivel> uma varivel de controle, que inicializada
com <valor inicial> e no incio de cada iterao, seu valor comparado com <valor final>. Se
o valor da varivel for menor ou igual a <valor final>, a lista de comandos executada e aps
ser executado o ltimo comando da lista, a varivel de controle incrementada. Isto repete-se
at que o valor da varivel de controle seja maior que <valor final>. A instruo passo pode ser
omitida quando o valor de incremento for igual a 1, pois o valor padro para <incremento>
1. Caso o valor de incremento seja diferente deve ser utilizado a instruo passo e o seu valor
de incremento. para. Lembrando que incrementar, pode ser tambm decrementar com passos
negativos, como -1. Exemplo de algoritmo que implementa para . . . faca:
Sada do algoritmo
1 2 3 4 5 6 7 8 9 10
Sada do algoritmo
10 9 8 7 5 4 3 2 1
35
A estrutura para..faca uma estrutura de repetio mais completa que as anteriores,
pois ela incorpora a inicializao, incremento e teste de valor final da varivel de controle.
preferencialmente utilizada em situaes em que sabe-se previamente o nmero de repeties a
serem feitas. Este nmero de repeties pode ser uma constante ou estar em uma varivel.
Aps apresentar as trs estruturas de repeties, deve ficar claro que o uso delas pode
ser de forma encadeada, por exemplo: para . . . faca dentro de um enquanto . . . faca.
5.4.1 Tabuada
Escreva um algoritmo em Visualg que pergunte ao usurio qual tabuada ele deseja ver.
Mostre a tabuada multiplicando o valor de 0 at 10. Ao final, pergunte se o usurio deseja ver
outra tabuada. Caso a resposta seja SIM, repita todo o processo novamente.
Algoritmo em VisuAlg:
36
algoritmo Tabuada
//Funo: Calcular Tabuada, n vezes de acordo com usurio
// Autor: Autores da Apostila
// Data: 2015
//Seo de Declaraes
var
x, contador: inteiro
resp: caractere
inicio
// Seo de Comandos
repita
escreva ( Digite a tabuada que deseja ver: )
leia ( x )
para contador de 0 ate 10 faca
escreval ( x, x , contador , = , contador*x )
fimpara
escreva ( Deseja continuar? (digite sim ou no) )
leia ( resp )
ate (resp <> sim)
fimalgoritmo
Sada do algoritmo
37
5.4.2 Fatorial
[Manzano, 2003, 5.6] Elaborar o algoritmo, que efetue o clculo de fatoriais at que o
usurio no deseje mais. Sendo assim, o programa dever pedir ao usurio a sua continuidade
ou no. E o nmero da fatorial a ser calculada ser informado pelo usurio.
Algoritmo: Sabe-se que fatorial o produto dos nmeros naturais desde 1 at o inteiro
n. Sendo assim, o clculo de uma fatorial conseguido pela multiplicao sucessiva do nmero
de termos. O nmero de passos dever ser controlado por um contador. Sendo assim deve
ser criadas variveis FATORIAL e CONTADOR. Alm dessas devero ser criadas outras duas
variveis, sendo uma para a confirmao da continuidade da execuo do programa e outra para
determinar o clculo do valor da fatorial. Este exemplo faz uso do encadeamento de estruturas
de repetio.
Algoritmo em VisuAlg:
algoritmo Fatorial
//Funo: Calcular fatorial, n vezes de acordo com usurio
// Autor: Autores da Apostila
// Data: 2015
//Seo de Declaraes
var
contador, fatorial, n: inteiro
resp: caractere
inicio
// Seo de Comandos
resp <- sim
38
enquanto resp = sim faca
fatorial <- 1
escreva ( Fatorial de qual nmero: )
leia (n)
para contador de 1 ate n faca
fatorial <- fatorial * contador
fimpara
escreva ( Fatorial de , n , = , fatorial )
escreva ( Deseja continuar? )
leia ( resp )
fimequanto
fimalgoritmo
Sada do algoritmo
1. [Manzano, 2003, 5.7] Elaborar um programa que apresente como resultado o valor de
uma potncia de uma base qualquer elevada a um expoente qualquer, ou seja, de B n , em
que B o valor da vase e n o valor do expoente.
2. [Manzano, 2003, 5.7] Elaborar um programa que possibilite calcular a rea total de uma
residncia (sala, cozinha, quartos, etc.). O programa dever solicitar a entrada do nome,
a largura e o comprimento de um determinado cmodo. Em seguida, dever apresentar
a rea do cmodo lido e tambm uma mensagem solicitando do usurio a confirmao
de continuar calculando novos cmodos. Caso o usurio responda "NO", o programa
dever apresentar o valor total acumulado da rea residencial.
3. [Medina e Ferting, 2005, 4.6] Faa o algoritmo para a resoluo do somatrio a seguir,
sendo n definido pelo usurio e maior que 5:
n
X
2i2 + 5i + 1
i=5
39
4. Escrever um algoritmo que l um nmero no determinado de valores para m, todos
inteiros e positivos, um de cada vez. Se m for par, verificar quantos divisores possui e
escrever esta informao. Se m for mpar e menor do que 12, calcular e escrever o fatorial
de m. Se m for mpar e maior ou igual 12, calcular e escrever a soma inteiros de 1 at o
nmero lido.
40
Captulo 6
Vetores e Matrizes
Vetores e Matrizes so estruturas de dados que tem como objetivo auxiliar quando h
muitas variveis do mesmo tipo em um algoritmo. At agora todas as declaraes de variveis
eram unitrias, pois eram suficiente para os problemas anteriores. Porm, no so adequadas
para resolver um grande nmero de problemas computacionais. Imagine, por exemplo, cons-
truir um algoritmo, que recebe nome de 500 pessoas e imprime um relatrio destes mesmos
nomes, mas ordenados alfabeticamente. No seria uma tarefa simples, pois teria que definir
500 variveis do tipo caractere. Para resolver problemas como este, e outros, existem as va-
riveis indexadas, tambm chamadas de variveis compostas. Tais variveis podem representar
um agrupamento de valores do mesmo tipo (homogneas). Vetores e Matrizes so variveis
compostas e sero apresentadas a seguir.
6.1 Vetor
Vetor uma varivel que armazena vrias variveis do mesmo tipo. No problema apre-
sentado anteriormente, pode ser utilizado um vetor de 500 posies para armazenar os nomes
das 500 pessoas. So conhecidas tambm como variveis compostas unidimensionais e estti-
cas. Vetor definido inicialmente com um tamanho fixo e suas posies so referenciadas por
um nico ndice, sendo assim seus elementos tm ordinalidade: 1, 2, 3, . . . , N . A sintaxe para
declarao :
var
<varivel> : vetor [<valor inicial..valor final>] de <tipo de dado>
41
Onde, a declarao parecida com variveis vistas at agora, deve apenas acrescentar as
informaes vetor e a quantidade de elementos do vetor. Essas estruturas so limitadas, por isso
deve ser definido logo na declarao da varivel o tamanho do vetor. No VisuAlg a definio do
tamanho feita entre os colchetes "[]"com valor inicial do ndice e valor final do ndice entre
dois pontos "..". Exemplo:
var
idades: vetor [1..5] de inteiro
nomes: vetor [1..5] de caractere
1 2 3 4 5
Vetor nomes Joo Ana Mateus Ricardo Maria
1 2 3 4 5
Vetor idades 15 10 21 54 10
O acesso aos elementos realizado pela sua posio dentro do vetor. Para atribuir um
valor a um elemento do vetor devemos utilizar o seguinte padro:
42
algoritmo Exemplo Vetores
//Funo: l um vetor de real com 6 posies, depois imprime o vetor
// Autor: Autores da Apostila
// Data: 2015
//Seo de Declaraes
var
numero: vetor [1..6] de real
i: inteiro
inicio
// Seo de Comandos
para i de 1 ate 6 faca
leia (numero[i])
fimpara
escreva (Contedo do Vetor )
para i de 1 ate 6 faca
escreva (numero[i])
fimpara
fimalgoritmo
Sada do algoritmo
1 6 5 8 12 1
Contedo do Vetor
1 6 5 8 12 1
6.2 Matriz
Matriz uma varivel que armazena vrias variveis do mesmo tipo, como o vetor,
diferenciando apenas por ter at N dimenses. Assim como nos vetores as posies das matrizes
so referenciadas por ndices. Neste caso sero N ndices, sendo N o nmero de dimenses da
matriz. comum trabalhar com matrizes com 2 dimenses, Linhas x Colunas. Logo, seram
utilizados dois ndices para referenciar as posies da matriz. A sintaxe para declarao :
<varivel>: vetor [<tamanho 1>,<tamanho 2>, ..., <tamanho n>] de < tipo de dado >
var
idades: vetor [1..3,1..4] de inteiro
nomes: vetor [1..3,1..3] de caractere
A varivel idades foi declarada como uma matriz de inteiros com trs linhas e qua-
tro colunas, 3 X 4: idades[1,1]; idades[1,2]; idades[1,3]; idades[1,4]; idades[2,1]; idades[2,2];
43
idades[2,3], idades[2,4]; idades[3,1]; idades[3,2]; idades[3,3]; idades[3,4]; idades[4,1]; ida-
des[4,2]; idades[4,3]; idades[4,4]. J a varivel nomes uma matriz de caracteres com trs
linhas e trs colunas, 3 x 3: nomes[1,1]; nomes[1,2]; nomes[1,3]; nomes[2,1]; nomes[2,2];
nomes[2,3]; nomes[3,1]; nomes[3,2]; nomes[3,3]. Para melhor abstrao, as matrizes acimas
podem ser ilustradas da seguinte maneira:
1 2 3 4
1 15 10 21 54
Matriz idades 2 10 36 44 54
3 28 12 36 49
1 2 3
1 Joo Ana Mateus
Matriz nomes 2 Maria Lusa Tiago
3 Gustavo Felipe Bruna
Exemplo:
44
linha, coluna: inteiro
inicio
// Seo de Comandos
para linha de 1 ate 3 faca
para coluna de 1 ate 3
leia (numero[linha, coluna])
fimpara
fimpara
escreva ( Contedo da Matriz)
para linha de 1 ate 3 faca
para coluna de 1 ate 3
escreva (numero[linha, coluna])
fimpara
escreval
fimpara
fimalgoritmo
Sada do algoritmo
1 2 3 4 5 6 7 8 9
Contedo da Matriz
1 2 3
4 5 6
7 8 9
[Manzano, 2003, 7.1] Criar um programa que efetue a leitura dos nomes de 20 pessoas
e em seguida apresent-los em ordem alfabtica.
45
3. Iniciar o programa, fazendo a leitura dos 20 nomes;
Algoritmo em Visualg:
46
4. a soma da diagonal secundria;
Algoritmo em Visualg:
2. [Medina e Ferting, 2005, 7.5] Faa um algoritmo que determine qual o maior elemento
dentro de um vetor.
47
3. [Manzano, 2003, 6.4] Elaborar um programa que efetue o clculo de uma tabuada de um
nmero qualquer e armazene os resultados em vetor A com 10 elementos. Apresentar os
valores armazenados no vetor.
4. [Manzano, 2003, 6.4] Ler dois vetores A e B com 10 elementos cada. Construir um
vetor C, sendo este a juno dos dois outros vetores. Desta forma, C dever ter o dobro
de elementos, ou seja, 20. Apresentar o vetor C.
5. [Manzano, 2003, 6.4] Ler 20 elementos (valores reais) para temperaturas em graus Cel-
sius. O programa dever apresentar a menor, a maior e a mdia das temperaturas lidas.
6. [Medina e Ferting, 2005, 7.5] Faa um algoritmo que determine quantas vogais h em
um vetor de caracteres.
7. [Medina e Ferting, 2005, 7.5] Faa um algoritmo que ordene e mostre em ordem cres-
cente um vetor de 10 elementos.
8. [Medina e Ferting, 2005, 7.5] Faa um algoritmo que encontre o determinante de uma
matriz 2 x 2. O determinante dado pela diferena entre o produto da diagonal principal
e o da diagonal secundria.
9. [Manzano, 2003, 8.4] Ler duas matrizes A e B, com 5 linhas e 3 colunas. Construir uma
matriz C de mesma dimenso, que formada pela soma dos elementos da matriz A com
os elementos da matriz B, Apresentar a matriz C.
10. [Manzano, 2003, 8.4] Ler duas vetores A e B, cada um com 7 elementos. Construir uma
matriz C, em que a primeira coluna dever ser formada pelos elementos da matriz A e a
segunda coluna dever ser formada pelos elementos da matriz B. Apresentar a matriz C.
11. [Medina e Ferting, 2005, 7.5] Faa um algoritmo que transforme uma matriz M em seu
espelho. Exemplo:
1 2 3 1 4 7
4 5 6 2 5 8
7 8 9 3 6 9
48
Captulo 7
Sub-algoritmos
Cada sub-algoritmo, pode ter suas prprias variveis chamadas de variveis locais, que
existem apenas durante sua chamada.
49
determinado valor, e Procedimento, que no h retorno de valor. O retorno de valores a sada,
por meio dele o sub-algoritmo pode dar uma "resposta"ou um resultado para quem o chamou.
Varivel global vista e pode ser manipulada pelo programa principal e por todos os
subalgoritmos pertencentes a ele. As variveis globais so declaradas antes de todos os subal-
goritmos.
var
< declarao de variveis globais >
< subalgoritmo 1>
< subalgoritmo 2>
...
< subalgoritmo i>
inicio
// Seo de Comandos
fimalgoritmo
A vantagem das variveis globais a sua fcil utilizao. Mas como todos os subalgo-
ritmos tem acesso e podem alterar o valor destas variveis, deve ser analisado se o uso delas
no trar um possvel resultado indesejado.
Varivel local visvel e manipulada apenas pelo subalgoritmo em que ela foi declarada.
As variveis locais so declaradas no incio do subalgoritmo que pertence.
var
< declarao de variveis globais >
< subalgoritmo 1 >
< declarao de variveis locais do subalgoritmo 1 >
< subalgoritmo 2>
< declarao de variveis locais do subalgoritmo 2 >
...
< subalgoritmo i>
< declarao de variveis locais do subalgoritmo i >
inicio
// Seo de Comandos
fimalgoritmo
50
A vantagem de uma varivel local a independncia em relao ao resto. Uma alterao
em uma varivel local afetar apenas no prprio subalgoritmo onde foi declarada. Garantindo
assim que no ter resultado indesejado em outros subalgoritmos.
7.0.3 Parmetros
Na passagem de parmentros por valor, uma cpia da varivel feita durante a chamada
do subalgoritmo.
O que difere da passagem por valor utilizao da palavra-chave var, que simbolizar
a passagem por referncia.
7.1 Procedimentos
51
algoritmo <nome do algoritmo>
// Funo:
// Autor:
// Data:
//Seo de Declaraes
var
<declarao de variveis globais>
<definio do procedimento >
inicio
// Seo de Comandos
fimalgoritmo
Parmetros: Entre um mesmo tipo de dados so separados por vrgula. Entre tipos de
dados a separao feita com ponto-e-vrgulas. Exemplo x, y: inteiro; a, b: real. Tal que
var opcional. retorne, os tipos retornados so: real, inteiro, lgico ou caractere.
Exemplo
52
x <- y
y <- aux
fimprocedimento
inicio
// Seo de Comandos
leia ( A, B, C, D )
escreval (A = , A, e B = ), B )
Trocar (A, B)
escreval (A = , A, e B = ), B )
escreval (C = , C, e D = ), D )
Trocar (C, D)
escreval (C = , C, e D = ), D )
fimalgoritmo
Sada do algoritmo
19 5 10 3
A = 19 e B = 5
A = 5 e B = 19
C = 10 e D = 3
C = 3 e D = 10
7.2 Funes
Por analogia, na Matemtica, escreve-se (ou define-se) uma funo por meio de par-
metros, a seguir exemplos onde se define as funes f , g e h:
Para saber o valor de retorno das funes para valores em particular dos argumentos,
por exemplo, na funo f , basta substituir x por um valor escolhido, como x = 3, este valor
onde aparece o parmetro x:
53
f (3) = 32 3(3) + 2 = 2, valor de resposta ou retorno 2;
Voltando para sub-algoritmos, em VisuAlg a criao de uma funo deve ser realizada
dentro da seo de variveis:
A declarao da funo deve estar entre o final da declarao de variveis e a linha inicio
do programa principal, e possui a seguinte sintaxe:
Cada funo tem associada ao seu valor de retorno um tipo de dado explcito.
Parmetros: Entre um mesmo tipo de dados so separados por vrgula. Entre tipos de
dados a separao feita com ponto-e-vrgulas. Exemplo x, y: inteiro; a, b: real. Tal que
var opcional.
Tipo de retorno: Estar associado ao tipo do valor que a funo retornar com o comando
retorne, os tipos retornados so: real, inteiro, lgico ou caractere.
54
retorne: comando que executa o encerramento do subprograma, retornando imediata-
mente um nico valor. Esta instruo s pode retornar um nico valor. O valor que
comando retornar deve ser do mesmo tipo que o especificado no incio da funo em
tipo de retorno.
Exemplo:
inicio
// Seo de Comandos
leia ( x, y )
escreval (Soma = , Somar(x, y) )
x <- 3
y <- 4
s <- Somar (y, x)
escreval (Soma = , s )
escreval (Soma = , Somar(5, s) )
fimalgoritmo
Sada do algoritmo
20 15
Soma = 35
Soma = 7
Soma = 12
VisuAlg possui funes pr-definidas, as quais esto descritas abaixo e foram retiradas
do Apoio Informtica. http://www.apoioinformatica.inf.br/produtos/visualg. Atalho para es-
tas funes pressionar (CTRL+J) o visualg mostra uma Lista de funes predefinidas, basta
selecionar a funo desejada e dar um Enter, depois s passar os parmetros desejados.
55
Funes numricas, algbricas e trigonomtricas
Abs(expresso) - Retorna o valor absoluto de uma expresso do tipo inteiro ou real. Equivale
ao mdulo na lgebra.
ArcCos(expresso) - Retorna o ngulo (em radianos) cujo cosseno representado por expres-
so.
ArcSen(expresso) - Retorna o ngulo (em radianos) cujo seno representado por expresso.
ArcTan(expresso) - Retorna o ngulo (em radianos) cuja tangente representada por expres-
so.
Cos(expresso) - Retorna o cosseno do ngulo (em radianos) representado por expresso.
CoTan(expresso) - Retorna a cotangente do ngulo (em radianos) representado por expresso.
Exp(base, expoente) - Retorna o valor de base elevado a expoente, sendo ambos expresses do
tipo real.
GraupRad(expresso) - Retorna o valor em radianos correspondente ao valor em graus repre-
sentado por expresso.
Int( expresso) - Retorna a parte inteira do valor representado por expresso.
Log( expresso) - Retorna o logaritmo na base 10 do valor representado por expresso.
LogN( expresso) - Retorna o logaritmo neperiano (base e) do valor representado por expres-
so.
Pi - Retorna o valor 3.141592.
Quad( expresso) - Retorna quadrado do valor representado por expresso.
RadpGrau( expresso) - Retorna o valor em graus correspondente ao valor em radianos repre-
sentado por expresso.
RaizQ( expresso) - Retorna a raiz quadrada do valor representado por expresso.
Rand - Retorna um nmero real gerado aleatoriamente, maior ou igual a zero e menor que um.
RandI( limite) - Retorna um nmero inteiro gerado aleatoriamente, maior ou igual a zero e
menor que limite.
Sen( expresso) - Retorna o seno do ngulo (em radianos) representado por expresso.
Tan( expresso) - Retorna a tangente do ngulo (em radianos) representado por expresso.
Os valores que esto entre parnteses, representados pelas palavras como expresso,
base e expoente, so os parmetros, ou como dizem alguns autores, os argumentos que passamos
para a funo para que realize seus clculos e retorne um outro, que usaremos no programa.
Algumas funes, como Pi e Rand, no precisam de parmetros, mas a maioria tem um ou
56
mais. A seguir temos alguns exemplos que ilustram o uso destas funes.
Sada do algoritmo
-7
7
A rea do crculo com raio 3 28.2743338823
Um ngulo de 90 graus tem 1.57079633 radianos
512
1
Asc (s : caracter) : Retorna um inteiro com o cdigo ASCII do primeiro caracter da expresso.
Carac (c : inteiro) : Retorna o caracter cujo cdigo ASCII corresponde expresso.
Caracpnum (c : caracter) : Retorna o inteiro ou real representado pela expresso.
Compr (c : caracter) : Retorna um inteiro contendo o comprimento (quantidade de caracteres)
da expresso.
Copia (c : caracter ; p, n : inteiro) : Retorna um valor do tipo caracter contendo uma cpia
parcial da expresso, a partir do caracter p, contendo n caracteres. Os caracteres so numerados
da esquerda para a direita, comeando de 1.
Maiusc (c : caracter) : Retorna um valor caracter contendo a expresso em maisculas.
Minusc (c : caracter) : Retorna um valor caracter contendo a expresso em minsculas.
Numpcarac (n : inteiro ou real) : Retorna um valor caracter contendo a representao de n
como uma cadeia de caracteres.
Pos (subc, c : caracter) : Retorna um inteiro que indica a posio em que a cadeia subc se
encontra em c, ou zero se subc no estiver contida em c. A seguir temos alguns exemplos que
57
ilustram o uso destas funes.
Sada do algoritmo
92
11
62
BRASIL
6
13
66
ABC
[Medina e Ferting, 2005, 5.5.2.1] Faa um algoritmo que ordene dois valores. A orde-
nao dos nmeros deve estar contida em um subalgoritmo. Um terceiro parmetro determinar
a ordem (crescente ou decrescente) para a ordenao. Suponha que os dois valores a serem or-
denados, passados como parmetros para o subalgoritmo, so sempre diferentes. Alm disso,
58
considere que o subalgoritmo ordena deve retornar Verdadeiro, caso consiga executar a opera-
o, e Falso, caso a opo seja invlida.
Algoritmo: Como na descrio do exerccio diz que deve retornar uma resposta Verda-
deiro ou Falso conclui-se que ser feito o uso de funo. A funo dever ordenar dois valores e
retorn-los na ordem pedida. Como os valores podem ser modificados e tais modificaes preci-
sam ser mantidas, esses parmetros devem ser passados por referncia. J o terceiro parmetro,
identificar o tipo de ordenao, no ser modificado na funo ordenao. Por isso, o parme-
tro deve ser passado por valor. Considere a opo 1 como crescente e a 2 como decrescente.
Pode se observar que independente do tipo de ordenao que for escolhido, o cdigo referente
troca de valores ser igual para os dois, assim um procedimento pode fazer esse trabalho de
troca.
2. Definir o procedimento Troca com dois parmetros de passagem por referncia do tipo
real, p1 e p2;
3. Declarar no procedimento Trocar uma varivel aux do tipo real que auxiliar na troca;
5. Definir a funao Ordenar do tipo lgico, com 3 parmetros dois por referncia e um por
valor, valor1, valor2, opcao;
7. Caso seja 1 verificar se o valor1 maior que valor2 e ento realizar a troca chamando
procedimento Trocar;
8. Caso seja 2 verificar se o valor1 menor que valor2 e entao realizar a troca chamando
procedimento Trocar;
10. Caso tenha realizado um dos casos 1 ou 2, ou seja foi ordenado, retorne VERDADEIRO
11. Programa principal ocorre a leitura de dois valores v1, v2 e tipo de ordenao tp;
59
12. Verifica se foram ordenados os valores de acordo com o da funo Ordenar e seus seguin-
tes parmetros, v1, v2 e tp;
Algoritmo em VisuAlg:
inicio
// Seo de Comandos
escreva ( Entre com dois valores a serem ordenados:
leia (v1, v2)
escreva ( Entre com tipo de ordenao: 1 - Crescente; 2 - Decrescente
leia (tp)
se (Ordenar(v1, v2, tp)) entao
escreva ( Nmeros ordenados: , v1, v2)
senao
60
escreva ( Opo Invlida)
fimse
fimalgoritmo
Sada do algoritmo
5 4 1
Nmeros ordenados 4 5
1. [Manzano, 2003, 13.4] Elaborar um programa que efetue a leitura de um nmero inteiro
e apresente uma mensagem informando se o nmero par ou mpar, utilizando subalgo-
ritmos..
2. [Medina e Ferting, 2005, 5.6] Faa um procedimento que calcule e mostre o n-simo
termo da srie de Fibonacci.
3. [Manzano, 2003, 13.4] Desenvolva um algoritmo que utilize uma funo para calcular
o valor de uma potncia de um nmero qualquer. Ou seja, ao informar para a funo
o nmero e a sua potncia, dever ser retornar o seu resultado. Por exemplo, se for
mencionado no programa principal a funo Potencia(2, 3), dever ser retornar o valor 8.
4. [Medina e Ferting, 2005, 5.6] Faa um algoritmo que calcule a soma dos N primeiros
nmeros primos, sendo N definido pelo usurio no programa principal. O algoritmo
ainda dever ter os subalgoritmos SomaPrimos e Primos, sendo que o primeiro ser
responsvel pela soma dos nmeros que forem primos e o segundo ser responsvel por
verificar se o nmero em questo primo ou no.
5. [Manzano, 2003, 13.4] Um determinado estabelecimento far uma venda com descontos
nos produtos A e B, Se forem comprados apenas os produtos A ou apenas os produtos B,
o desconto ser de 10%. Caso sejam comprados os produtos A e B, o desconto ser de
15%. Custo da unidade de cada produto dado, respectivamente, para os produtos A e B
como sendo de R$10 e R$20. Elaborar um programa que por meio de um subalgoritmo
calcule e apresente o valor da despesa ddo fregus na compra dos produtos. Lembre-se
que o fregus poder levar mais de uma unidade de um determinado produto.
61
6. [Medina e Ferting, 2005, 5.6] Um desafio feito aos enxadristas iniciantes chamado
de "8 Rainhas". Nesse desafio, necessrio posicionar 8 rainhas dentro do tabuleiro, de
forma que nenhuma possa "atacar"a outra. Como uma rainha se move na horizontal, ver-
tical e diagonal, significa que cada nova rainha no pode estar em linha com outra rainha
existente no tabuleiro.
Faa uma funo que receba uma matriz representando um tabuleiro de xadrez e uma
posio (linha, coluna) para a rainha ser colocada. Se a posio for vlida para o desafio
"8 Rainhas", rainha deve ser colocada e retonar VERDADEIRO. Caso contrrio, deve re-
tornar FALSO e no colocar a rainha na posio solicitada. Considere que as outras casa
contm e que as casas onde as rainhas esto posicionadas contm R.
62
Captulo 8
Outros Comandos
O VisuAlg implementa outros comandos com o intuito principal de ajudar o seu uso
como ferramenta de ensino. As descries dos comandos mostradas a seguir foram retiradas do
Apoio Informtica. www.apoioinformatica.inf.br/produtos/visualg
Com o uso do comando aleatorio do VisuAlg, sempre que um comando leia for encon-
trado, a digitao de valores numricos e/ou caracteres substituda por uma gerao aleatria.
Este comando tem as seguintes sintaxes:
aleatorio on
A palavra-chave on opcional. O intervalo de valores gerados de 0 a 100 inclusive. Para a
gerao de dados do tipo caractere, no h uma faixa pr-estabelecida: os dados gerados sero
sempre strings de 5 letras maisculas.
aleatorio off
63
8.2 Comando Arquivo
Muitas vezes necessrio repetir os testes de um programa com uma srie igual de
dados. Para casos como este, o VisuAlg permite o armazenamento de dados em um arquivo
texto, obtendo deles os dados ao executar os comandos leia. Esta caracterstica funciona da
seguinte maneira:
Somente um comando arquivo pode ser empregado em cada programa, e ele dever estar
na seo de declaraes
Se no existir o arquivo com nome especificado, o VisuAlg far uma leitura de dados
atravs da digitao, armazenando os dados lidos neste arquivo, na ordem em que forem
fornecidos.
Se o arquivo existir, o VisuAlg obter os dados deste arquivo at chegar ao seu fim. Da
em diante, far as leituras de dados atravs da digitao.
sintaxe do comando :
64
8.3 Comando Timer
O comando timer insere um atraso (que pode ser especificado) antes da execuo de
cada linha. Alm disso, reala em fundo azul o comando que est sendo executado, da mesma
forma que na execuo passo a passo. Sua sintaxe a seguinte:
timer on - ativa o timer. O valor de atraso padro inserido 500, que equivale a meio
segundo.
Ao longo do algoritmo, pode haver vrios comandos timer. Todos eles devem estar na
seo de comandos. Uma vez ativado, o atraso na execuo dos comandos ser mantido at se
chegar ao final do pseudocdigo ou at ser encontrado um comando timer off.
pausa
Este comando insere uma interrupo (breakpoints) incondicional. Quando ele en-
contrado, o VisuAlg para a execuo e espera alguma ao do programador. Neste momento,
possvel:
65
8.5 Comando Debug
A sua sintaxe :
cronometro on
cronometro off
Este comando simplesmente limpa a tela DOS do Visualg (a simulao da tela do com-
putador). Ele no afeta a "tela"que existe na parte inferior direita da janela principal do Visualg.
Sua sintaxe :
limpatela
66
Referncias Bibliogrficas
[1] Jos Augusto N. G. Manzano and Jayr F. Oliveira. Livros Algoritmos e Programao:
Teoria e Prtica. rica, 21. ed. edition, 2002.
[2] M. Medina and C. Ferting. Livros Algoritmos e Programao: Teoria e Prtica. Novatec,
2. ed. edition, 2006.
67