While (comando Enquanto) C
Por: Snatc • 18/9/2015 • Projeto de pesquisa • 551 Palavras (3 Páginas) • 324 Visualizações
Matrizes e exemplo com exercício
Matrizes são estruturas de dados muito simples que podem nos ajudar muito quando temos muitas variáveis do mesmo tipo em um algoritmo. Imagine o seguinte problema: Você precisa criar um algoritmo que lhe o nome e as 4 notas de 50 alunos, calcular a média de cada aluno e informar quais foram aprovados e quais foram reprovados. Vamos fazer uma conta rápida: 50 variáveis para armazenar os nomes dos alunos, (4 * 50 = ) 200 variáveis para armazenar as 4 notas de cada aluno e por fim, 50 variáveis para armazenar as médias de cada aluno. 300 variáveis no total, sem contar a quantidade de linhas de código que você vai precisar para ler todos os dados do usuário, calcular as médias e apresentar os resultados. Mas eu tenho uma boa notícia pra você. Para não precisarmos criar 300 variáveis se usa as matrizes.
Etapa 4 Passo 2
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 M-é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.
A Figura apresenta um exemplo com 5 pessoas e passo 2: neste exemplo, o elemento restante é 3 (pessoa número 3).
[pic 1]
Figura 1 Configuração dos números com LEDs
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.
IDENTIFICAÇÃO DAS VARIAVEIS
nc: inteiro
n, i: inteiro
m, contador, valorinteiro: inteiro
escolhido: real
Algoritmo em pseudo-linguagem
algoritmo "problema 4 "
// Função :
// Autor :
// Data : 11/11/2014
// Seção de Declarações
var
nc:inteiro
n,i:inteiro
m, contador, valorInteiro: inteiro
escolhido: real
inicio
escreval (":::::::::: PROBLEMA 4 ::::::::::")
escreval
escreval (" Informe a quantidade de teste que deseja executar...")
escreva (" -> ")
leia (nc)
para contador de 1 ate nc passo 1 faca
escreval
escreval (" Quantas pessoas deverao passar pelo teste ?")
...