Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia
Alguém pode me dar uma luz de como fazer?
Faça um algoritmo que leia 10 pares de números inteiros, M e P, chame uma função para fazer a validação para que os números sejam >=1. Implemente outra função p/ calcular o fatorial de um número qualquer. Finalmente, calcule e escreva o número de arranjos e combinações de M elementos P a P, dado pelas fórmulas:
A = M!/ (M – P)! C = M!/ P! ( M – P)!
Se M < P, por definição A = 0 e C = 0
OBS:
• A função de consistência deve ser do tipo lógico, receber N como parâmetro e retornar V ou F;
• A função que calcula o fatorial deve receber um número, como parâmetro, validado e retornar o valor do fatorial;
Obrigado
Opa!
Obrigado pela luz! :)
Olá
Fiz algo aqui e gostaria de alguma opinião:
algoritmo
/////////////////////////////////////////
funcao validarNum(num1 :inteiro; num2 :inteiro):logico
inicio
se (num1 >= 1) e (num2 >= 1) entao
retorne verdadeiro
senao
escreval ("Insira apenas números maiores ou iguais a 1")
retorne falso
fimse
fimfuncao
/////////////////////////////////////////
funcao calcularFator(var m,p,f :inteiro):inteiro
var
a, c :inteiro
inicio
se (m < p) entao
a <- 0
c <- 0
senao
a <- m%(m-p)
c <- m%p(m-p)
fimse
retorne (a,c)
fimfuncao
/////////////////////////////////////////
var
m, p, f :inteiro
opcao :caracter
inicio
opcao <- "s"
enquanto (opcao = "s") faca
repita
escreval("Insira o 1º Número: ")
leia (m)
escreval("Insira o 2º Número: ")
leia (p)
ate validarNum(m,p)
escreval ("Quer inserir mais? s/n ")
leia (opcao)
fimenquanto
repita
escreval ("Qual número deseja calcular o fatorial? ")
leia (f)
ate validarNum(f,1)
escreval ("Combinações: ", calcularFator(m,p,f))
fimalgoritmo
até ai ta beleza ;D
uma coisa só q eu diria pra você acrescentar + q n muda muita coisa é isso:
enquanto (opcao = "s" ou opcao = "S") faca[/code]
oq jah tentou pro ultimo?
poste ai pra gente tentar fazer!
[]s
Opa!
Estou postando a versão final... acredito hehe, vejam:
algoritmo
// Função : Manipular 2 números Inteiros
/////////////////////////////////////////
funcao validarNum(num1, num2 :inteiro):logico
inicio
se (num1 >= 1) e (num2 >= 1) entao
retorne verdadeiro
senao
escreval ("Insira apenas números maiores ou iguais a 1")
retorne falso
fimse
fimfuncao
/////////////////////////////////////////
funcao calcularFator(n :inteiro):inteiro
var
fat, i :inteiro
inicio
fat <- 1
para i de 1 ate n faca
fat <- fat * i
fimpara
retorne fat
fimfuncao
/////////////////////////////////////////
var
m, p :inteiro
a, c :real
inicio
repita
escreval("Insira o 1º Número: ")
leia (m)
escreval("Insira o 2º Número: ")
leia (p)
ate validarNum(m,p)
se (m < p) entao
c <- 0
p <- 0
senao
a <- (calcularFator(m)/calcularFator(m-p))
c <- (calcularFator(m) / (calcularFator(p)*calcularFator(m-p)))
fimse
escreval ("Número de arranjos: ", a, ". Número de combinações: ", c,".")
fimalgoritmo
Bom Dia,
Vamos lá meu caro, darei a lógica, não a como fazer.