Escolar Documentos
Profissional Documentos
Cultura Documentos
Teste de Mesa
Para acompanhar o desenvolvimento de um
algoritmo importante verificar o estado dos dados
a cada instruo, verificando o contedo de todas
as variveis contidas no algoritmo.
Sendo assim deve-se enumerar as linhas do
algoritmo e em seguida criar uma tabela onde, a
cada linha, so mostrados os contedos das
variveis do algoritmo
e o nmero da linha
executada.
Para uma melhor visualizao do processo
adotaremos a seguinte conveno: nas linhas em
que uma varivel lida (entrada), o valor da
varivel ficar entre colchetes [] e quando o
contedo de uma varivel for escrito (sada), ficar
81entre chaves {}.
82
[6]
[12]
12
{8}
12
Trecho 1
Trecho 3
Trecho 2
Possuindo a sintaxe:
...
escolha (<varivel>)
caso <valor11>, <valor12>, ..., <valor1n>
<seqncia-de-comandos-1>
caso <valor21>, <valor22>, ..., <valor2m>
<seqncia-de-comandos-2>
...
outrocaso
<seqncia-de-comandos-extra>
fimescolha
...
84
85
Exerccio:
Construa um algoritmo que receba dois
nmeros reais e um dos seguintes smbolos: +, -,
* ou /, o qual designar qual operao ser
aplicada considerando os valores recebidos
como seus operandos. O referido algoritmo deve
retornar o resultado da operao selecionada
com uma preciso de dois dgitos.
87
algoritmo "exerccio"
var op1, op2: real
operador: caractere
inicio
escreva ("Entre com o primeiro operando: ")
leia (op1)
escreva ("Entre com o segundo operando: ")
leia (op2)
escreva ("Entre com um dos operadores (+, -, *, /): ")
leia (operador)
escolha (operador)
caso "+"
escreva (op1," ",operador,op2," =",op1+op2:10:2)
caso "-"
escreva (op1," ",operador,op2," =",op1-op2:10:2)
88
caso "*"
escreva (op1," ",operador,op2," =", op1*op2:10:2)
caso "/"
se (op2<>0) entao
escreva (op1," ",operador,op2," =")
escreval (op1/op2:10:2)
senao
escreva ("No possvel efetuar a diviso!")
fimse
outrocaso
escreva ("Operao invlida! ")
fimescolha
fimalgoritmo
89
92
Inicio
valor: inteiro
valor: inteiro
Valor <- 1
Valor <- 10
valor<=10
falso
verdadeiro
94
Fim
Valor>0
falso
verdadeiro
valor,
10-valor,
Fim
95
99
100
Inicio
valor: inteiro
valor: inteiro
Valor <- 9
Valor <- 0
Valor <- valor+1
10-valor,
valor,
falso
101
valor=10
Fim
verdadeiro
falso
Valor=-1
Fim
verdadeiro
3.
Estrutura ou lao de repetio
repita (continuao)
Exemplo:
Dada uma reta ax+by+c=0 e cinco pontos, faa
um algoritmo para calcular, para cada ponto, o
seguinte: se o ponto estiver no primeiro
quadrante calcule e informe a distncia do ponto
a reta caso contrrio escreva uma mensagem
informando que o ponto no pertence ao primeiro
quadrante.
102
repita
escreval ("Coordenadas do ponto ",contador," :")
escreva ("Coordenada x do ponto = ")
leia (x)
escreva ("Coordenada y do ponto = ")
leia (y)
se ((x>=0) e (y>=0)) entao
escreval ("A distncia do ponto ",contador,
" a reta : ",
((a*x+b*y+c)^2)^0.5/(((a^2)+(b^2))^0.5))
senao
escreval ("O ponto ",contador," no est no
primeiro quadrante! ")
fimse
contador <- contador + 1
ate (contador>5)
fimalgoritmo
104