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

Problema De Josephus Em Portugol

Trabalho Universitário: Problema De Josephus Em Portugol. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  16/10/2013  •  294 Palavras (2 Páginas)  •  1.082 Visualizações

Página 1 de 2

O Problema é definido onde pessoas estão organizadas em um circulo. Começando com uma primeira pessoa designada, prosseguimos em torno do circulo, removendo cada pessoa. Depois que cada pessoa e removida, a contagem prossegue em torno do circulo restante. Esse processo continua ate todas as pessoas terem sido removidas. A ordem em que as pessoas são removidas do circulo define a permutação de Josephus, a resolução do problema segue abaixo:

4.2 - Identificação de dados e variáveis.

Variáveis “NC”,”i”,”c”,”excluídos”,”cont”, do tipo Inteiro.

Variável ”d”vetor , do tipo inteiro.

Variável ”n”vetor, do tipo inteiro.

4.3 - Descrição do Algoritmo em português estruturado.

algoritmo "Josephus"

// Função : Eliminar todos os numeros deixando apenas 1

var

NC, i, c, excluidos, cont: inteiro

//contador do laco e contador para controle da ordem de eliminado

d: vetor[1..30, 1..2]de inteiro

//armazena numero maximo e passo

n: vetor[1..10000] de inteiro

inicio

//Etapa I - valida o numero de casos

escreva ("Digite a quantidade de casos (Max. 30): ")

leia(NC)

escreval()

enquanto NC>=30 faca

limpatela

escreval("Numero invalido! ")

escreva("Digite um numero entre 1 e 30: ")

leia(NC)

escreval()

fimenquanto

//Etapa 2 - Numero Maximo e tamanho do passo

para i de 1 ate NC faca

limpatela

escreval("Numero de casos: ", NC)

escreval()

escreva (" Caso ",i," - Digite um Numero (Max. 10.000): ")

leia(d[i,1])

escreval()

enquanto (d[i,1] >10000) ou (d[i,1] <=1) faca

escreval()

escreval("Numero invalido!")

escreval("O numero deve estar entre 1 e 10.000")

escreval()

escreva(" Caso ",i," - Digite um Numero (Max. 10.000): ")

leia(d[i,1])

fimenquanto

limpatela

escreval("*** Caso ",i," ***")

escreva("Numero: ",d[i,1])

escreval()

escreval()

escreva("Digite o tamanho do

...

Baixar como (para membros premium)  txt (2.5 Kb)  
Continuar por mais 1 página »
Disponível apenas no TrabalhosGratuitos.com