Académique Documents
Professionnel Documents
Culture Documents
FACNET
CURSO DE SISTEMA DE INFORMAES
ATPS Etapa 3 e 4
Construo de Algoritmos
Alunos (as):
RA:
8204942847
8074852512
8070836347
8491211720
Anhanguera Educacional
2014
Introduo
Algoritmos um conjunto finito de regras, bem definidas, para soluo de um
problema em um tempo finito e com um nmero finito de passos.
Esta forma de representao de algoritmos, tambm conhecida como portugus
estruturado ou portugol, bastante rica em detalhes e, por assemelhar-se bastante
forma em que os programas so escritos, encontra muita aceitao, sendo, portanto a
forma de representao de algoritmos que ser adotada nesta disciplina.
Na verdade, esta representao suficientemente geral para permitir que a traduo de
um algoritmo nela representado para uma linguagem de programao especfica seja
praticamente direta.
Problema 3
Joo quer montar um painel contendo diferentes nmeros de LEDs. Como no tm
muitos, no tem certeza se vai ser capaz de montar o nmero desejado. Considerando-se a
configurao dos LEDs conforme consta o exemplo na Figura 1, fazer um algoritmo que ajude
Joo descobrir quantos LEDs so necessrios para montar o nmero.
leds <- 0
escreva("Qual numero deve apresentar no display? ")
leia(c)
enquanto ((caracpnum(c) < 1) ou (caracpnum(c) > 2000)) faca
escreva("Valor invalido. Informe um valor de 1 a 2000: ")
leia(c)
fimenquanto
tam <- compr(c)
para x de 1 ate tam faca
num <- caracpnum(copia(c,x,1))
escolha (num)
caso 0
leds <- leds+6
caso 1
leds <- leds+2
caso 2
leds <- leds+5
caso 3
leds <- leds+5
caso 4
leds <- leds+4
caso 5
leds <- leds+5
caso 6
leds <- leds+6
caso 7
leds <- leds+3
caso 8
leds <- leds+7
caso 9
leds <- leds+6
outrocaso
fimescolha
fimpara
escreval("O total necessrios de",leds," leds.")
fimpara
fimalgoritmo
Fluxograma
Sada
Para cada caso de teste, imprimir uma linha contendo o nmero de LEDs que Joo
precisa para representar o valor desejado, seguido da palavra "leds".
Incio da execuo
Informe quantos casos teste sera realizado: 4
Qual numero deve apresentar no display? 6
O total necessrios de 6 leds.
Qual numero deve apresentar no display? 8
O total necessrios de 7 leds.
Qual numero deve apresentar no display? 9
O total necessrios de 6 leds.
Qual numero deve apresentar no display? 4
O total necessrios de 4 leds.
Fim da execuo.
Problema 4
leia(nc[y,1])
enquanto ((nc[y,1] < 1) ou (nc[y,1] > 1000)) faca
escreva("Valor invalido. Informe um valor entre 5 a 1000: ")
leia(nc[y,1])
fimenquanto
escreva("Qual a ordem de eliminao? ")
leia(nc[y,2])
enquanto ((nc[y,2] < 1) ou (nc[y,2] > 1000)) faca
escreva("Valor invalido. Informe um valor entre 1 a 1000: ")
leia(nc[y,2])
fimenquanto
para loop de 1 ate nc[y,1] faca
n[loop] <- loop
fimpara
eliminados <- 0
passos <- 1
repita
para x de 1 ate nc[y,1] faca
se n[x] <> 0 entao
se passos=nc[y,2] entao
n[x] <- 0
passos <- 1
eliminados <- eliminados+1
senao
passos <- passos+1
fimse
fimse
fimpara
ate eliminados = nc[y,1]-1
para x de 1 ate nc[y,1] faca
se n[x] <> 0 entao
escreva(" CASO TESTE",y,":",n[x])
escreval("")
fimse
fimpara
fimpara
fimalgoritmo
Fluxograma
Sada
Para cada caso de teste, haver uma linha de sada no seguinte formato: Case N: M
sempre com um espao antes de N e M. Sendo M a pessoa que restou no crculo.
Incio da execuo
Digite a quantidade de casos teste: 2
Digite o numero de pessoas no circulo: 60
Qual a ordem de eliminao? 2
CASO TESTE 1: 57
Digite o numero de pessoas no circulo: 18
Qual a ordem de eliminao? 4
CASO TESTE 2: 9
Fim da execuo.
Bibliografia
<http://www.facom.ufu.br/~claudio/Cursos/PP/Docs/Visualg2.pdf>
<http://www.youtube.com/watch?v=dZq7l9Oj_c&list=PLE88CDBBDB041CC82&index=1>
<http://forum.imasters.com.br>