Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ENGENHARIA DE COMPUTAO
SEMESTRE 2006.1
Outubro de 2006
Feira de Santana - Bahia
-2-
Sumrio
1 - Introduo.............................................................................................. 4
2 - O menu principal.................................................................................... 5
3 Menu 1: Gerar o dgito.......... .............................................................. 6
4 - Menu 2 e 3: Teste e Porcentagem de acertos......................................... 7
5 - Pseudocdigo......................................................................................... 8
6 Concluso............................................................................................ 10
7 Referncias............................................ 11
-3-
Introduo
Um algoritmo pode ser conceituado como uma srie de passos a serem seguidos, a
fim de solucionar ou evitar um problema. Na prtica, todos realizam algoritmos em
atividades diversas, como fazer um bolo ou se preparar para dormir. Existem sempre regras a
serem cumpridas, passo a passo, que juntas possibilitam um produto satisfatrio.
A rede bancria X-Men pretende implantar um sistema que possa evitar possveis
erros de digitao de seqncias de nmeros, visando com isso, proteger seu patrimnio. A
idia foi repassada para um professor de matemtica chamado Charles Xavier. Este props a
implantao de um dgito verificador baseado em operaes simples sob os algarismos da
prpria conta.
Para esse desenvolvimento, necessria a produo de um algoritmo, visando ter
subsdios necessrios pra produo e perfeita execuo do programa solicitado. O algoritmo
tratado ser representado de duas formas: Em diagrama de blocos e em pseudocdigo.
Ambos recaem a um produto final comum. Contudo, no diagrama de blocos, a estrutura
desenvolvida sob uma vasta quantidade de simbologias que implicam nos mais diversos
recursos utilizados em cada passo do algoritmo, tais como exibio em vdeo, estruturas
condicionais, dentre outras. O pseudocdigo por sua vez, implica no portugol, ou na
linguagem propriamente dita, sob uma srie de imperativos e opes de escolha, tudo isso em
um texto que se ramifica de fora para dentro, como numa escala de vrios nveis.
Alm disso, o algoritmo possuir trs opes de escolha e mais uma que faz sair do
programa. As trs simbolizam: gerar o cdigo, testar e, com base nos testes realizados,
efetuar um clculo percentual sob o nmero de acertos.
Vale lembrar que, nem o diagrama e nem pseudocdigo representam, de fato, o
programa propriamente dito. Tratam-se na verdade, de estruturas que calcaro o
desenvolvimento do programa na prpria linguagem de mquina, no trabalhada ainda neste
relatrio.
O objetivo deste relatrio : Desenvolver um algoritmo que possibilite uma maior
segurana a rede bancria X-Men em proteger seu patrimnio. Implantar um dgito
verificador no nmero da conta de cada cliente da grande rede bancria eliminar
consideravelmente problemas oriundos de erros na digitao de nmeros de contas.
Estruturas de controle e escolha, que existem nos algoritmos, asseguraram uma plena eficcia
no desenvolvimento do projeto.
-4-
O Menu Principal
INCIO
CONT20
S0
1,2,3,4
1,2,3,4
GERAR DG.
TESTAR DG.
PORC
-5-
FIM
Seno
OPO
INVLIDA
S0
Cont1
RS-11*(Sdiv11)
Cont1,6,1
DV11-R
Qxdiv10
DV=10
ou
DV=11
rx-10.Q
DV0
Ar*(cont+1)
SA+S
DV
xQ
-6-
S0
Sc 0
Cont1
Cont1,6,1
RS-11*(Sdiv11)
DV11-R
Qxdiv10
rx-10.Q
DV=10
ou
DV=11
Ar*(cont+1)
DV0
SA+S
Cont2 Cont2+1
xQ
DVT=DV
DGITO
CORRETO
DGITO
INCORRETO
SCSC+1
PORC100*SCDIVcont2
-7-
Pseudocdigo
Programa: Dgito_verificador
VAR N,Cont,S,Q,X,r,A,DV,DVT,Cont2,SC : Inteiro
Porc: Real
Incio
Para (indefinidamente)
Escreva: Escolha uma opo
1- Gerar dgito verificador
2- Verificar validade do dgito
3- Verificar porcentagem de acertos
4- Sair
Leia N
Escolha N
Caso (1): Escreva (Escreva nmero da conta)
Leia X
Cont 1
S0
Para (Cont at 6 passo 1) faa
Q Xdiv10
R X 10*Q
A r*(cont + 1)
SA+S
XQ
Fim Para
R S -11* (Sdiv11)
DV 11-R
Se (DV=10 ou DV=11)ento
DV 0
Seno
DV 11-R
Fim Se
Escreva DV
Caso(2) ): Escreva (Escreva nmero da conta com o dgito)
Leia (X,DVT)
Cont 1
S0
Sc 0
Para (Cont at 6 passo 1) faa
Q Xdiv10
R X 10*Q
A r*(cont + 1)
SA+S
XQ
Fim Para
R S -11*(Sdiv11)
DV 11-R
-8-
Se (DV=10 ou DV=11)ento
DV 0
Seno
DV 11-R
Fim Se
Cont2 Cont2 + 1
Se (DVT = DV) ento
Escreva(Dgito verificador correto)
SC SC + 1
Porc 100 * SCdivCont2
Seno
Escreva(Dgito verificador incorreto)
Sim Se
Caso (3): Escreva (Porcentagem de acertos: Porc %)
Caso (4) Sair do Programa
Seno: Escreva (Opo Invlida)
Fim Escolha
Fim Para
Fim
-9-
Concluso
O produto deste relatrio implica em um amadurecimento de idias e conhecimentos
a respeito do real conceito de algoritmos. A implantao de um dgito verificador ao nmero das
contas dos clientes da rede bancria X-Men viabilizou a utilizao de estruturas de repetio e
deciso, em decorrncia das necessidades surgidas no desenvolver do algoritmo.
Uma das estruturas de repetio utilizadas no algoritmo foi a Para-faa. A fim de
obter individualmente os algarismos que compem a conta corrente, surgiu uma srie de clculos
matemticos, que envolveram operaes simples, porm limitadas. Cada processo de operaes
deveria ser repetido um nmero de vezes igual a 6, devido conta possuir seis algarismos.
Utilizar uma estrutura como essa, portanto, garante o controle de operaes que devem ser
realizadas.
Dentre as estruturas de deciso, foram utilizadas tanto a Se como a Escolha. A
estrutura Se foi a base das decises de apenas duas respostas, quando comparamos os valores de
DV e DVT ou quando queramos atribuir pra o DV um valor, por exemplo. A estrutura Escolha
foi o alicerce do menu principal. Ela pde garantir um leque de opes disponveis para o
usurio, em suas quatro opes de escolha.
Algo notvel no funcionamento desse algoritmo foi a utilizao de um recurso que
vamos tratar como loop indefinido. No clculo da porcentagem, dados precisavam ser
armazenados, registrando o nmero de acertos e o nmero total de acessos. A no utilizao de
uma estrutura como essa inviabilizaria o clculo percentual, na terceira opo, uma vez que os
dados seriam perdidos a cada trmino de acesso a uma das opes. No caso trabalhado, as dados
s so perdidos caso a quarta opo (finalizar o programa) seja utilizada.
A elaborao do algoritmo, portanto, fincou a primeira parte do desenvolvimento de
uma estrutura de programao. A organizao de algoritmo permitiu um maior entendimento do
problema e ajudou a solucionar os possveis problemas que certamente ocorreriam no desenrolar
da elaborao do programa. As bases do programa que a rede bancria necessita foram
produzidas e promovem a eficcia do desenvolvimento da etapa seguinte: Gerar o programa
propriamente dito.
- 10 -
Referncias
1- MANZANO, Jose Augusto N. G.; OLIVEIRA, Jayr Figueiredo de. Algoritmos: logica para
desenvolvimento de programao. 5. ed. So Paulo: Erica, 1998.
- 11 -