TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

ATPS: CONSTRUÇÃO DE ALGORITMOS

Por:   •  17/6/2015  •  Trabalho acadêmico  •  602 Palavras (3 Páginas)  •  185 Visualizações

Página 1 de 3

[pic 1]

FACULDADE ANHANGUERA

DE

BELO HORIZONTE

Wellington Mendes da Silva RA3227023494

ATPS: CONSTRUÇÃO DE ALGORITMOS

Terceira e Quarta etapa

Belo Horizonte

26/11/2014

Problema 3

João quer montar um painel contendo diferentes números de LEDs. Como não têm muitos, não tem certeza se vai ser capaz de montar o número desejado. Considerando-se a configuração dos LEDs conforme consta o exemplo na Figura 1, fazer um algoritmo que ajude João descobrir quantos LEDs são necessários para montar o número.

[pic 2]

Entrada

A entrada contém um número inteiro N, (1 ≤ N ≤ 2000) correspondente ao número de casos de teste, seguido por N linhas, cada linha contendo um número (1 ≤ V ≤ 10100) que corresponde ao valor que João quer representar com LEDs.

Saída

Para cada caso de teste, imprimir uma linha contendo o número de LEDs que João precisa para representar o valor desejado, seguido da palavra "leds".

Pseudocódigo

algoritmo "led"

// Função :

// Autor :

// Data : 24/11/2014

// Seção de Declarações

var

qtd: vetor[0..9] de inteiro

N, V, aux, alg, i, qtd_leds: inteiro

inicio

qtd[0] <- 6 //atribuindo testes

qtd[1] <- 2

qtd[2] <- 5

qtd[3] <- 5

qtd[4] <- 4

qtd[5] <- 5

qtd[6] <- 6

qtd[7] <- 4

qtd[8] <- 7

qtd[9] <- 6

escreval("Digite o numero de testes:") //numero de testes

leia(N)

enquanto ((N < 1) ou (N > 2000)) faca

escreva("Valor inválido. Informe o número de casos de teste entre 1 e 2000: ")

leia(N)

fimenquanto

para i de 1 ate N faca

escreval("Digite um numero:")

leia(V)

enquanto ((V < 1) ou (V > 135000)) faca

escreva("Valor inválido. Informe um número entre 1 e 135000: ")

leia(V)

fimenquanto

qtd_leds <- 0

aux <- V

enquanto (aux > 0) faca

alg <- aux % 10

qtd_leds <- qtd_leds + qtd[alg]

aux <- aux \ 10

fimenquanto

escreval("Número: ", V, " -> ", qtd_leds, " leds")

fimpara

fimalgoritmo

Problema 4

O Problema de Josephus é definido como mostrado a seguir. Vamos supor que N pessoas estão organizadas em um círculo e que temos um inteiro positivo M ≤ N. Começando com uma primeira pessoa designada, prosseguimos em torno do círculo, removendo cada Milésima pessoa. Depois que cada pessoa é removida, a contagem prossegue em torno do círculo restante. Esse processo continua até todas as M pessoas terem sido removidas. A ordem em que as pessoas são removidas do círculo define a permutação de Josephus de (N, M) dos inteiros 1, 2, ..., N.

Entrada

Definir como NC (1 ≤ NC ≤ 30) os casos de teste. Em cada caso de teste de entrada haverá um par de números inteiros positivos N (1 ≤ N ≤ 10000) e M (1 ≤ M ≤ 1000). O número N representa a quantidade de pessoas do círculo, numerados de 1 a N. O número M representa o tamanho do passo entre duas pessoas no círculo.

Saída

Para cada caso de teste, haverá uma linha de saída no seguinte formato: Case N: M sempre com um espaço antes de N e M. Sendo M a pessoa que restou no círculo.

Pseudocódigo

algoritmo "Problema de Josephus"

...

Baixar como (para membros premium)  txt (4.2 Kb)   pdf (205.5 Kb)   docx (58.8 Kb)  
Continuar por mais 2 páginas »
Disponível apenas no TrabalhosGratuitos.com