Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Algoritmos Com VisualG

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 11

A

A
l
l
g
g
o
o
r
r
i
i
t
t
m
m
o
o
s
s
c
c
o
o
m
m
V
V
i
i
s
s
u
u
A
A
l
l
g
g

P Pr ro of f. . G Ge er rs so on n V Vo ol ln ne ey y L La ag ge em ma an nn n
D De ep pt to o. . E En ng g. . d de e P Pr ro od du u o o e e S Si is st te em ma as s
U UD DE ES SC C - - C CC CT T
Eng. de Produo e Sistemas APG

2

Algoritmos com VisuAlg

Introduo

A linguagem VisuAlg simples, seu objetivo disponibilizar um ambiente de
programao no idioma portugus do Brasil utilizando para tal o Portugol muito
usado na bibliografia da rea.
Entre as principais caractersticas estruturais da linguagem vale destacar:
O VisuAlg permite apenas um comando por linha;
Todas as palavras-chave do VisuAlg foram implementadas sem acentos,
cedilha, etc.
O VisuAlg no distingue maisculas e minsculas no reconhecimento de
palavras-chave e nomes de variveis.
permitida a incluso de comentrios: qualquer texto precedido de "//"
ignorado, at se atingir o final da sua linha.
O formato bsico do pseudocdigo o seguinte:
algoritmo "semnome"
// Funo:
// Autor:
// Data:
//Seo de Declaraes
inicio
// Seo de Comandos
fimalgoritmo


Tipos de Dados

inteiro: define variveis numricas do tipo inteiro, ou seja, sem casas decimais.
Ex. idade, nmero de filhos, quantidade de estados do Brasil.
real: define variveis numricas do tipo real, ou seja, com casas decimais.
Ex. salrio, peso, temperatura.
caractere: define variveis do tipo string, ou seja, cadeia de caracteres.
Eng. de Produo e Sistemas APG

3

Ex. nome, endereo, frase
logico: define variveis do tipo booleano, ou seja, com valor VERDADEIRO ou
FALSO.

O VisuAlg permite tambm a declarao de variveis estruturadas atravs da palavra-
chave vetor.


Nomes de Variveis

Os nomes das variveis devem obrigatoriamente comear por uma letra. Aps a
primeira letra poder conter letras, nmeros ou underline ( _ ), at um limite de 30
caracteres. As variveis podem ser simples ou estruturadas (vetores de uma ou duas
dimenses). Variveis no podem ter nomes iguais.
Iniciar a declarao de variveis obrigatoriamente com o termo var, seguir com
os nomes das variveis separados por ,, colocar o sinal : e finalmente informar o
tipo daquela varivel ou lista de variveis.
Ex.:
var a: inteiro
valor1, valor2 : real
nome_aluno : caractere

Obs: A identao da linha 1 para a linha 2 no obrigatria, mas recomendvel para
melhor visualizao.


Constantes

O VisuAlg tem trs tipos de constantes:
Numricas: 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. O VisuAlg no suporta separadores de
milhares.
Caracteres: qualquer cadeia de caracteres delimitada por aspas duplas (").
Eng. de Produo e Sistemas APG

4

Lgicos: admite os valores VERDADEIRO ou FALSO.


Comando de Atribuio

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.
Ex. a <- 3
valor1 <- 1.5
valor2 <- valor1 + a
nome_aluno <- "Jos da Silva"


Expresses Aritmticas

Operador Operao Exemplo Resultado
+ Adio 3 + 2 5
- Subtrao 10 - 5 5
* Multiplicao 3 * 7 21
/ Diviso 25 / 2 12.5
^ Potenciao 5 ^ 2 25

OBS.: - No se usa o "X" para indicar a multiplicao, nem a barra horizontal de frao
para indicar a diviso.
- Da mesma forma que a matemtica, algumas operaes tm prioridade sobre as
outras. A potenciao tem a maior prioridade entre todos os operadores. A
Multiplicao e a diviso devem ser operadas antes da adio e da subtrao. Para
alterar as prioridades, novamente como na matemtica, devemos usar os parnteses ().
Veja alguns exemplos de atribuio e expresses aritmticas:


Eng. de Produo e Sistemas APG

5

Palavras Reservadas do VisuAlg

aleatrio enquanto funcao para
algoritmo entao inicio passo
arquivo escolha int pausa
asc escreva inteiro pos
ate escreval interrompa real
carac faca leia procedimento
caracpnum falso limpatela repita
caractere fimalgoritmo logico retorne
caso fimenquanto maiusc se
compr fimescolha minusc senao
copia fimfuncao mod timer
cronometro fimpara nao var
debug fimprocedimento numpcarac vetor
e fimrepita ou verdadeiro
eco fimse outrocaso xou


Entrada de Dados no Programa

Para passar um dado para o programa vamos usar o comando Leia. Assim, se
voc precisa das notas das provas de um aluno para que o programa calcule a mdia
voc deve usar esta instruo para que o usurio do programa possa digit-la e ento o
programa possa calcular a mdia. A sintaxe deste comando :

Leia <Nome_De_Varivel>

Se definssemos as variveis:

var nota1, nota2, media : real

ento usaramos o comando:

Eng. de Produo e Sistemas APG

6

Leia nota1
Leia nota2
ou
Leia (nota1, nota2)

Supondo que o usurio digitasse 7.5" teclasse ENTER e digitasse 6.5 e teclasse
ENTER, o valor "7.5" seria atribudo a varivel nota1 e o valor 6.5 a nota2,
automaticamente. Quando usar leia(nota1, nota2) necessrio que aps
digitar a nota1 seja teclado ENTER e ento digitada a nota2 e teclado ENTER
novamente.


Sada de Dados do Programa

A lgica de qualquer programa indica que pelo menos um resultado ele deve
fornecer. Podemos ter programas que no necessariamente necessitem ler algum dado
para sua execuo, porm no tem sentido um programa executar e no exibir nenhuma
informao a respeito do que foi processado. Nos algoritmos usamos o comando
Escreva. A sintaxe deste comando a seguinte:

Escreva <Expresso1, Expresso2, etc...>

Expresso1, Expresso2 so valores de qualquer tipo, separados por vrgula. Estes
valores podem ser constantes ou variveis. Caso a expresso seja uma varivel o que
ser exibido o seu valor.

Comandos (algoritmo) Resultado (tela do computador)
Escreva ("Al, mundo!") Al, mundo!
Escreva (20) 20
var nome : caracter
var idade : numerico
nome "Jos"
idade 40
Eng. de Produo e Sistemas APG

7

Escreva (nome) Jos
Escreva ("O meu nome ", nome) O meu nome Jos
Escreva ("Tenho ", idade, " anos") Tenho 40 anos

Mais exemplos:

Comando Comentrio
1 var A : inteiro Definio de uma varivel de nome A do tipo
inteiro
A 3 O valor de A passa a ser 3
Escreva (A * 5) Ser mostrado o valor 15, pois A=3 e 3 * 5 =
15
2 var A, B : inteiro Definio de duas variveis de nome A e B do
tipo inteiro
A 10 O valor de A passa a ser 10
B A * 3 O valor de B passa a ser 30
Escreva (B A + 1) Ser mostrado o valor 21 (30 10 + 1)
B 40 O valor de B passa a ser 40
Escreva (B A + 1) Ser mostrado o valor 31 (40 10 + 1)
3 Var x inteiro Definio de uma varivel de nome x do tipo
inteiro
Leia x Ser obtido o nmero que ser digitado pelo
usurio.
Escreva (x * 2) Ser mostrado o dobro do valor digitado pelo
usurio.


Operadores Relacionais

Nome Smbolo
Igual =
Diferente <>
Menor <
Maior >
Menor ou igual <=
Maior ou igual >=




Eng. de Produo e Sistemas APG

8

Instruo de Deciso SE

Forma Geral: se <condio> entao
instruo_1
instruo_2
.
.
instruo_n
senao
instruo_1
instruo_2
.
.
instruo_n
fimse

O resultado da <condio> obtida pela interpretao lgica a partir da utilizao de
um dos operadores relacionais acima ou ainda de uma combinao entre eles.
Veja o exemplo a seguir:

algoritmo "media"
// Funo : media
// Autor : Gerson
// Data : 09/08/2010
// Seo de Declaraes
var
n1, n2: inteiro
m : real
inicio
// Seo de Comandos
Escreva ("Informe a nota1: ")
leia (n1)
escreva ("Informe a nota 2: ")
leia (n2)
Eng. de Produo e Sistemas APG

9

m <- (n1 + n2) / 2
escreva ("Media = ", m)
se m < 7.0 entao
Escreva ("Em EXAME")
Senao
Escreva ("APROVADO")
fimse
fimalgoritmo

OBS: - O deslocamento de espaos usado no exemplo acima na instruo se no
obrigatria, serve somente para deixar o programa mais claro.
- conveniente antes de ler algum dado do usurio exibir o que est sendo
pedido que seja digitado ( Escreva ("Informe a nota1: ")).

A instruo se pode ainda aparecer sem o complemento senao. Veja:

Forma Geral: se <condio> entao
instruo_1
instruo_2
.
.
instruo_n
fimse


Instrues de Repetio

A Instruo de Repetio Enquanto_Faa

As instrues de repetio servem para que uma determinada sequncia de
instrues seja repetida um nmero finito de vezes. O nmero de repeties
controlado por uma instruo lgica que caso VERDADEIRA executa as instrues do
lao e caso FALSA abandona o lao, seguindo para a primeira instruo aps o
fimenquanto .
Eng. de Produo e Sistemas APG

10


Forma Geral: enquanto <expresso_lgica> faca
instruo_1
instruo_2
. LAO
.
instruo_n
fimenquanto

Veja exemplo abaixo















A Instruo de Repetio Para_Faa

Similar a instruo enquanto_faa a para_faa serve para que uma
determinada sequncia de instrues seja repetida um nmero finito de vezes. O nmero
de repeties controlado por uma instruo lgica que caso VERDADEIRA executa
as instrues do lao e caso FALSA abandona o lao, seguindo para a primeira
instruo aps o fimpara. A diferena entre as duas instrues est no incremento
automtico que a instruo fimpara apresenta.

A 1
A< 11
Escreva (A)
A

1 + 1
INICIO
FIM
S
N
algoritmo "lista"
// Funo : lista
// Autor : Gerson
// Data : 09/08/2010
// Seo de Declaraes
var
A: inteiro
inicio
// Seo de Comandos
A <- 1
enquanto a < 11 faca
escreva (A)
A <- A + 1
fimenquanto
fimalgoritmo



Eng. de Produo e Sistemas APG

11

Forma Geral: para <varivel> de <valor_inicial> ate
<valor_final> <passo> faca
instruo_1
instruo_2
. LAO
.
instruo_n
fimpara

Veja exemplo abaixo.

algoritmo "lista"
// Funo : lista
// Autor : Gerson
// Data : 09/08/2010
// Seo de Declaraes
var
A: inteiro
inicio
// Seo de Comandos
para A de 1 ate 10 passo 1 faca
escreva (A)
fimpara
fimalgoritmo


Referncias Bibliogrficas

MAZIOLI, J. R. Apostila: Lgica de Programao com VisuAlg. CEET: Vila Velha
ES, 2008.
SOUZA, C. M. VisuAlg. http://www.apoioinformatica.inf.br/programas - acessado em
09/08/2010.

Você também pode gostar