Skip to content

Instantly share code, notes, and snippets.

@marioluan
Last active December 15, 2015 16:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save marioluan/5288508 to your computer and use it in GitHub Desktop.
Save marioluan/5288508 to your computer and use it in GitHub Desktop.
Algoritmos/problemas desenvolvidos nas aulas de lógica de programação da Universidade São Judas Tadeu com a linguagem portugol.
inicio
real valorPresente, valorFuturo, taxaJuros, numParcelas, valorPrestacao
escrever "Digite o valor presente do bem "
ler valorPresente
escrever "Digite a taxa de juros em %"
ler taxaJuros
escrever "Digite a quantidade de parcelas "
ler numParcelas
taxaJuros <- taxaJuros / 100
valorPrestacao <- valorPresente * (taxaJuros / ( 1 - (1 + taxaJuros) ^-numParcelas))
escrever "O valor de cada uma das ", numParcelas, "será de = R$", valorPrestacao
fim
inicio
/*
* Encontra os dois últimos digitos verificadores do CNPJ
*/
inteiro cnpj , restoCnpj , somadigito1 , somadigito2
// oito primeiros numeros
inteiro n1 , n2 , n3 , n4 , n5 , n6 , n7 , n8
// digitos verificadores
inteiro n13, n14
// numero de filiais
inteiro n9 <- 0, n10 <- 0, n11 <- 0, n12 <- 1
escrever "digite o numero do cnpj "
ler cnpj
// armazena cada número do CNPJ
n8 <- cnpj % 10
restoCnpj <- cnpj / 10.0
n7 <- restoCnpj % 10
restoCnpj <- restoCnpj / 10.0
n6 <- restoCnpj % 10
restoCnpj <- restoCnpj / 10.0
n5 <- restoCnpj % 10
restoCnpj <- restoCnpj / 10.0
n4 <- restoCnpj % 10
restoCnpj <- restoCnpj / 10.0
n3 <- restoCnpj % 10
restoCnpj <- restoCnpj / 10.0
n2 <- restoCnpj % 10
restoCnpj <- restoCnpj / 10.0
n1 <- restoCnpj % 10
/* imprime o numero do cnpj completo
escrever "o 12º digito do cnpj é: ", n12
escrever "\n"
escrever "o 11º digito do cnpj é: ", n11
escrever "\n"
escrever "o 10º digito do cnpj é: ", n10
escrever "\n"
escrever "o 9º digito do cnpj é: ", n9
escrever "\n"
escrever "o 8º digito do cnpj é: ", n8
escrever "\n"
escrever "o 7º digito do cnpj é: ", n7
escrever "\n"
escrever "o 6º digito do cnpj é: ", n6
escrever "\n"
escrever "o 5º digito do cnpj é: ", n5
escrever "\n"
escrever "o 4º digito do cnpj é: ", n4
escrever "\n"
escrever "o 3º digito do cnpj é: ", n3
escrever "\n"
escrever "o 2º digito do cnpj é: ", n2
escrever "\n"
escrever "o 1º digito do cnpj é: ", n1
escrever "\n"
*/
// soma o produto dos 12 digitos do cnpj
somadigito1 <- ( n12 * 2 ) + ( n11 * 3 ) + ( n10 * 4 ) + ( n9 * 5 ) + ( n8 * 6 ) + ( n7 * 7 ) + ( n6 * 8 ) + ( n5 * 9 ) + ( n4 * 2 ) + ( n3 * 3 ) + ( n2 * 4 ) + ( n1 * 5 )
// encontra o verificador 1
n13 <- somadigito1 % 11
se n13 < 2 entao
n13 <- 0
senao
n13 <- 11 - n13
fimse
//escrever "O 1º verificador é: ", n13
//escrever "\n"
// soma o produto dos 13 digitos do cnpj
somadigito2 <- ( n13 * 2 ) + ( n12 * 3 ) + ( n11 * 4 ) + ( n10 * 5 ) + ( n9 * 6 ) + ( n8 * 7 ) + ( n7 * 8 ) + ( n6 * 9 ) + ( n5 * 2 ) + ( n4 * 3 ) + ( n3 * 4 ) + ( n2 * 5 ) + (n1 * 6)
// encontra o verificador 2
n14 <- somadigito2 % 11
se n14 < 2 entao
n14 <- 0
senao
n14 <- 11 - n14
fimse
//escrever "O 2º verificador é: ", n14
//escrever "\n"
escrever "Os verificadores para o cnpj: ", cnpj, " é ", n13, n14
fim
inicio
/*
* Encontra os dois últimos digitos verificadores do CPF
*/
inteiro cpf, restoCpf, conferidor1, conferidor2
inteiro n1, n2, n3, n4, n5, n6, n7, n8, n9
escrever "digite o numero do cpf "
ler cpf
// encontra cada digito do cpf
n9 <- cpf % 10
restoCpf <- cpf / 10.0
n8 <- restoCpf % 10
restoCpf <- restoCpf / 10.0
n7 <- restoCpf % 10
restoCpf <- restoCpf / 10.0
n6 <- restoCpf % 10
restoCpf <- restoCpf / 10.0
n5 <- restoCpf % 10
restoCpf <- restoCpf / 10.0
n4 <- restoCpf % 10
restoCpf <- restoCpf / 10.0
n3 <- restoCpf % 10
restoCpf <- restoCpf / 10.0
n2 <- restoCpf % 10
restoCpf <- restoCpf / 10.0
n1 <- restoCpf % 10
// soma o produto dos 9 digitos do cpf
conferidor1 <- (n1 * 10) + (n2 * 9) + (n3 * 8) + (n4 * 7) + (n5 * 6) + (n6 * 5) + (n7 * 4) + (n8 * 3) + (n9 * 2)
// encontra o conferidor 1
se (conferidor1 % 11) < 2 entao
conferidor1 <- 0
senao
conferidor1 <- 11 - (conferidor1 % 11)
fimse
// soma o produto dos 10 digitos do cpf
conferidor2 <- (n1 * 11) + (n2 * 10) + (n3 * 9) + (n4 * 8) + (n5 * 7) + (n6 * 6) + (n7 * 5) + (n8 * 4) + (n9 * 3) + (conferidor1 * 2)
// encontra o conferidor 2
se (conferidor2 % 11) <= 1 entao
conferidor2 <- 0
senao
conferidor2 <- 11 - (conferidor2 % 11)
fimse
escrever "os conferidores para o cpf: ", cpf, " são ", conferidor1, conferidor2
fim
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment