Last active
December 15, 2015 16:19
-
-
Save marioplumbarius/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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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