Você está na página 1de 9

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS

São Gabriel – Engenharia de Computação


Disciplina Curso Turno
Algoritmos e Estrutura de Dados I Engenharia de Computação Manhã
Professor
Kleber Jacques F. de Souza (kleberjfsouza@gmail.com)

Lista de Exercícios 1

1 Instruções
1. Esta é uma lista de reforço e não vale pontos.
2. Cada sessão tem por objetivo treinar uma característica dos algoritmos.
3. Tente fazer sozinho.
4. Lembre-se que todo algoritmo recebe entradas e produz saídas. As entradas pertencem a um domínio e as
saídas pertencem a um contradomínio. Sempre determine o domínio e contradomínio das entradas e saídas.
Eles te ajudaram a definir os tipos das variáveis e fazer regras de validação das entradas.
5. Busque fazer código eficiente, sempre usando SE-SENÃO ao invés de duas estruturas SE, quando possível.

2 Algoritmos sequenciais
1. Faça um algoritmo que lê o número de um funcionário, seu número de horas trabalhadas e o valor que recebe
por hora. O algoritmo deve calcular e mostrar o salário deste funcionário.

2. Faça um algoritmo para ler dois inteiros (variáveis A e B) e efetuar as operações de adição, subtração,
multiplicação e divisão de A por B apresentando ao final os quatro resultados obtidos.

3. Faça um algoritmo que lê o código da peça 1, a quantidade vendida de peças 1, o valor unitário da peça 1, o
código da peça 2, a quantidade vendida de peças 2, o valor unitário da peça 2 e a porcentagem do IPI a ser
acrescentada. O algoritmo deve calcular o valor total a ser pago.

4. Um usuário digita três números a, b e c. Faça um algoritmo que calcule a média e o desvio padrão destes três
números. A média é definida como . O desvio padrão é dado por D =

.
5. Faça um algoritmo que calcule e mostre a área de um trapézio. Sabe-se que a área é definida por:
A = ((basemaior + basemenor) × altura)/2.
6. Faça um algoritmo para calcular a área de um triângulo, exibindo o resultado final. A base e a altura são dados
que devem ser lidos com a entrada. Lembrem-se de validar os dados.

7. Uma loja de animais precisa de um algoritmo para calcular os custos de criação de coelhos. O custo é calculado
com a fórmula . O algoritmo tem como entrada o número de coelhos, devendo
fornecer, como saída, o custo.

8. A energia gasta em kcal (calorias) com uma atividade aeróbica qualquer obedece a seguinte equação:
E = MET × PESO × Tempo atividade/60. O tempo é dado em minutos. O peso é dado em quilos. METS
significa capacidade aeróbica e depende do tipo de exercício. Ciclismo ou corrida leve tem pontuação de 7.0
METS. A Natação Crawl tem pontuação de 8.0 METS. Um usuário deve entrar com seu peso, quanto tempo
ele corre por semana; quanto tempo ele pedala por semana e quanto tempo ele nada por semana. O seu
algoritmo deve retornar o número de calorias que este usuário queima por semana com exercícios físicos.
(OBS: os dados acima são reais para pessoas até 40 anos.)

9. Faça um algoritmo que leia a idade de uma pessoa em anos, meses e dias e mostre-a expressa em dias. (Nota:
considere todos os anos com 365 dias e todos os meses com 30 dias).

10. Faça um algoritmo para efetuar o cálculo da quantidade de litros de combustível gasta em uma viagem. Para
obter o cálculo, o usuário deverá fornecer o tempo (T) gasto na viagem e a velocidade (V ) média durante a
mesma. O usuário deverá também fornecer o rendimento (R) médio do automóvel em km por litro. Desta
forma, será possível obter a distância percorrida com a fórmula D = T × V . Tendo o valor da distância, basta
calcular a quantidade de litros (L) de combustível utilizada na viagem com a fórmula: L = D/R. O algoritmo
deverá apresentar os valores do rendimento, da velocidade média, tempo gasto na viagem, a distância
percorrida e a quantidade de litros utilizada na viagem.

11. Na física, existe o movimento uniformemente variado, onde um objeto se desloca de uma posição inicial (S0)
até uma posição final (S) com uma aceleração (a) constante. Se o objeto não estiver em repouso quando
iniciou seu movimento uniformemente variado, então ele ainda possui uma velocidade inicial (V0). Faça um
algoritmo que determine a posição final de um objeto em movimento retilíneo uniformemente variado após
um tempo (t), usando a seguinte equação: S = S0 + V0t + at2. O usuário deverá fornecer os valores da posição
inicial (S0), da velocidade inicial (V0), da aceleração (a) e do tempo de duração (t) do movimento.

12. Faça um algoritmo que efetue e cálculo do salário líquido de um professor. Para fazer este programa você
deverá possuir alguns dados, tais como: valor da hora aula, número de aulas dadas no mês e percentual de
desconto do INSS. Em primeiro lugar, deve-se estabelecer qual será o seu salário bruto para efetuar o
desconto e ter o valor do salário líquido. Ao final do algoritmo devem ser mostrados o salário bruto e o salário
líquido do professor.

13. Faça um algoritmo para ler uma temperatura em graus Centígrados e apresentá-la convertida em graus
Fahrenheit. A fórmula de conversão é: . Onde F é a temperatura em Fahrenheit e C é a
temperatura em Centígrados.

14. Faça um algoritmo para ler uma temperatura em graus Fahrenheit e apresentá-la convertida em graus
Centígrados. A fórmula de conversão é: . Onde F é a temperatura em Fahrenheit e C é a
temperatura em Centígrados.

15. Faça um algoritmo para efetuar o cálculo do valor de uma prestação em atraso, utilizando a fórmula:
PRESTAÇÃO = VALOR+(VALOR*(TAXA/100)*TEMPO). Deverão ser lidos o valor original da prestação e a taxa
de juros ao mês. O programa deverá imprimir O valor original, a taxa de juros, o valor final com multa e o
valor da multa.

16. Considerando que o índice de reajuste para determinada classe social foi acordado para ser um índice de
reposição salarial mais um índice de produtividade que cada empresa irá definir, faça um algoritmo que leia
o código de um funcionário, seu salário atual, o índice de reposição e o de produtividade e calcule o novo
salário do funcionário. Escrever o código do funcionário, seu salário atual, quanto terá de aumento e o novo
salário.

17. Faça um algoritmo que receba o ano, mês e dia de nascimento de uma pessoa e o ano, mês e dia atuais,
calcule e mostre:

(a) a idade dessa pessoa em anos;


(b) a idade dessa pessoa em meses;
(c) a idade dessa pessoa em dias;
(d) a idade dessa pessoa em semanas;
18. Faça um algoritmo que lê o número de um funcionário, seu número de horas trabalhadas e o valor que recebe
por hora e calcula o salário deste funcionário.

19. Faça um algoritmo que lê o valor de um empréstimo e calcule o valor de cada amortização considerando 24
amortizações a uma taxa de 48%. (VALOR_AMORTIZAÇÃO = (VALOR_EMPRÉSTIMO *
TAXA)/NÚMERO_AMORTIZAÇÕES). Imprima o valor do empréstimo, o valor das amortizações e o total real
que o consumidor irá pagar ao final do empréstimo.

20. O custo ao consumidor, de um carro novo, é a soma do custo de fábrica com a percentagem do distribuidor
e dos impostos (aplicado ao custo da fábrica). Supondo que a percentagem do distribuidor seja de 28% e os
impostos de 45%, faça um algoritmo para ler o custo de fábrica de um carro e escrever o custo ao consumidor.

21. Uma revendedora de carros usados paga a seus funcionários vendedores, um salário fixo por mês, mais uma
comissão também fixa para cada carro vendido e mais 5% do valor das vendas por ele efetuadas. Faça um
algoritmo que lê o número do vendedor, o número de carros por ele vendidos, o valor total de suas vendas,
o salário fixo e o valor que recebe por carro vendido e calcula o salário mensal do vendedor, escrevendo-o
juntamente com o seu número de identificação.

22. Suponha que você foi ao supermercado e comprou: N latas de chocolate em pó a um custo unitário Q, L litros
de leite a um custo unitário P e B quilos de banana a um custo unitário T. Faça um algoritmo que escreva:
nome do produto, total gasto com cada produto e total gasto no mercado.

23. Faça um algoritmo que leia o número total de prestações de um consórcio, o total de prestações pagas e o
valor atual da prestação. O algoritmo deve calcular e apresentar o saldo devedor atual.

24. O governo acaba de liberar US$ 10.000.000,00 dólares para construção de casas populares, a qual contratou
a Construtora Solidez Engenharia S.A. Cada casa custa o equivalente a 150 salários mínimos. Faça um
algoritmo que leia o valor do salário mínimo e calcule a quantidade de casas possíveis de se construir com a
verba americana. Considere a cotação do dólar como US$ 1,00 = R$ 2,92.

25. Suponha que um objeto cai do alto de um prédio a partir do repouso. Sabemos que no alto do prédio, o
objeto possui uma energia potencial (E), que depende de sua massa (m) em quilos, da aceleração da
gravidade (g = 9,8 m/s2) e da altura (h) de onde ele está sendo lançado. A energia potencial é calculada pela
equação E = m.g.h. Quando o objeto bate no solo, ele não tem mais energia potencial, pois toda essa energia
foi convertida em energia cinética, que é dada pela equação: . Considerando que a altura média de
um andar de um prédio é de 3 metros, faça um algoritmo onde o perito entra com a massa do objeto e o
andar que de ele foi lançado e o programa retorna a velocidade final do objeto ao atingir o solo.

3 Estruturas condicionais
1. Faça um algoritmo que receba dois número e mostre o maior.

2. Faça um algoritmo que receba três números e retorne o menor de todos.

3. Faça um algoritmo para ler dois valores numéricos e apresentar a diferença do maior pelo menor.

4. Faça um algoritmo que leia um número e mostre uma mensagem indicando se este número é par ou ímpar e
se é positivo ou negativo.

5. Faça um algoritmo para ler dois números. Se os números forem iguais imprimir a mensagem: "NÚMEROS
IGUAIS" e encerrar a execução; caso contrário, imprimir o de maior valor.

6. Faça um algoritmo que leia dois números N1 e N2, nesta ordem e imprima:

• PRIMEIRO: se N1 > N2
• SEGUNDO: se N1 < N2
• TERCEIRO: se N1 = N2

7. Faça um algoritmo que receba dois números e execute uma das operações listadas a seguir de acordo com a
escolha do usuário.

1 Média entre os números digitados


2 Diferença do maior para o menor
3 Produto entre os números digitados
4 Divisão do primeiro pelo segundo

8. Faça um algoritmo para ler e imprimir três números. Se o primeiro for positivo, imprimir sua raiz quadrada,
caso contrário, imprimir o seu quadrado; se o segundo número for maior que 10 e menor que 100, imprimir
a mensagem: “Número entre 10 e 100. Intervalo permitido”; se o terceiro número for menor que o segundo,
calcular e imprimir a diferença entre eles, caso contrário, calcular e imprimir a soma entre eles.

9. Faça um algoritmo para determinar se uma pessoa é maior ou menor de idade. a maioridade civil é atingida
quando a pessoa completa 16 anos. A maioridade penal é atingida quando a pessoa completa 18 anos. A
pessoa irá fornece o dia de hoje e a sua data de nascimento. O programa deverá imprimir se a pessoa já tem
maioridade civil ou penal.

10. Faça um algoritmo para ler dois valores: N1 e N2, e se N1 for maior que N2 executa a soma de N1 eN2; caso
contrário, executa uma subtração.

11. Faça um algoritmo que lê dois valores e escreve cada um juntamente com a mensagem: “É múltiplo de 2” ou
“Não é múltiplo de dois”, dependendo se o número é par ou impar.

12. Tendo como dados de entrada a altura e o sexo (M ou F) de uma pessoa, Faça um algoritmo para calcular seu
peso ideal, utilizando as seguintes fórmulas:

• Para Homens: ( 72.7 * altura ) - 58;

• Para Mulheres: ( 62.1 * altura) - 44.7.

13. Faça um algoritmo que lê o número de um vendedor de uma empresa, seu salário fixo e o total devendas por
ele efetuadas. Cada vendedor recebe um salário fixo, mais um a comissão proporcional às vendas por ele
efetuadas. A comissão é de 3% sobre o total de vendas até 10.000 e 5% sobre o que ultrapassa este valor.
Escrever o número do vendedor, o total de suas vendas, seu salário fixo e seu salário total.

14. Faça um algoritmo para ler três valores a, b, e c, quaisquer e escrever o maior dos 3.

15. Faça um algoritmo que lê 3 valores a, b, c e calcula e escreve a média ponderada com pesos de 5 para o maior
dos 3 valores e 2.5 para os outros dois valores.

16. Faça um algoritmo que leia o número da conta bancária e o saldo de um cliente. Caso a conta tenha saldo
negativo, o algoritmo deve enviar a seguinte mensagem: CONTA ESTOURADA, caso contrário CONTA
NORMAL.

17. O hotel Horizonte Belo cobra R$ 50,00 a diária e mais uma taxa de serviços. A taxa de serviços é de:
1,50 por dia, se número de diárias < 15;
1,00 por dia, se número de diárias = 15; e 0,50 por
dia, se número de diárias > 15.
Faça um algoritmo que lê o número de diárias e calcula o total a ser pago pelo cliente.

18. Faça um algoritmo que lê um conjunto de 4 valores i, a, b, c, onde i é um valor inteiro e positivo e a, b, c, são
quaisquer valores reais e os escreva. A seguir: Se i=1 escrever os 3 valores a, b, c em ordem crescente;
Se i=2 escrever os 3 valores a, b, c em ordem decrescente;
Se i=3 escrever os 3 valores de forma que o maior valor entre a, b, c fica entre os outros dois.
19. O departamento que controla o índice de poluição do meio ambiente mantém 3 grupos de indústrias que são
altamente poluentes do meio ambiente. O índice de poluição aceitável varia de 0,05 até 0,25. Se o índice sobe
para 0,3 as indústrias do primeiro grupo são intimadas a suspenderem suas atividades, se o índice cresce para
0,4 as do primeiro e segundo grupo são intimadas a suspenderem suas atividades e se o índice atingir 0,5
todos os 3 grupos devem ser notificados a paralisarem suas atividades. Faça um algoritmo que lê o índice de
poluição medido e emite a notificação adequada aos diferentes grupos de empresas.

20. Faça um algoritmo para ler quatro valores referentes a quatro notas escolares de um aluno e imprimir uma
mensagem dizendo se o aluno foi aprovado, se o valor da média escolar for maior ou igual a 7. Se o valor da
média for menor que 7, solicitar a nota de exame, somar com o valor da média e obter nova média. Se a nova
média for maior ou igual a 5, apresentar uma mensagem dizendo que o aluno foi aprovado. Apresentar com
as mensagens o valor da média do aluno, para qualquer condição.

21. Faça um algoritmo para efetuar a leitura de um valor inteiro positivo ou negativo e apresentar o número lido
como sendo um valor positivo. Ou seja, o programa deverá retornar o valor absoluto do número fornecido.

22. Faça um algoritmo para efetuar a leitura de quatro números e apresentar os números que são divisíveis por
2 e por 3 simultaneamente.

23. Faça um algoritmo que leia o código de um aluno e suas três notas. Calcule a média ponderada do aluno,
considerando que o peso para a maior nota seja 4 e para as duas restantes, 3. Mostre o código do aluno, suas
três notas, a média calculada e a mensagem “APROVADO” se a média for maior ou igual a 5 e “REPROVADO”
se a média for menor que 5.

24. Uma loja fornece 5% de desconto pros funcionários (F) e 10% de desconto para clientes especiais (E). Faça
um algoritmo que calcule o total a ser pago por uma pessoa. O algoritmo deverá ter o valor total da compra
efetuada e um código que identifique se o comprado é um cliente comum (C) ou um dos dois tipos de cliente
que recebem desconto.

25. Faça um algoritmo que lê o número de um funcionário, o número de horas trabalhadas, o valor que recebe
por hora, o número de filhos com idade inferior a 14 anos, a idade, o tempo de serviço do funcionário e o
valor do salário família por filho.

(a) Calcular o salário bruto (SB), o desconto do INSS (8,5% do salário bruto) e o salário família.
(b) Calcular o IR (imposto de renda) como segue:
i. Se SB > R$2.115,00 então IR = 27,5% SB.
ii. Se SB de R$1.058,01 até R$2.115,00 então IR = 15% SB.
iii. Se SB <= R$1.058,00 então IR = 0.
(c) Calcular o adicional conforme especificado:
i. Se idade superior a 40 anos ADIC - 2% SB..
ii. Se tempo de serviço superior a 15 anos ADIC - 3,5% SB..iii. Se tempo de
serviço inferior a 15 mas superior a 5 anos ADIC - 1,5% SB..

Calcular salário líquido. Escrever o número do funcionário, o salário bruto, total de descontos, adicional e
salário líquido.

26. Uma empresa deseja presentear seus funcionários com um bônus de Natal, cujo valor é definido do seguinte
modo:

• Funcionários do sexo masculino com tempo de casa superior a 15 anos terão direito a um bônus de 20%
do seu salário;
• As funcionárias com tempo de casa superior a 10 anos terão direito a um bônus de 25% do seu salário;
e
• Os demais funcionários terão direito a um bônus de R$ 100,00.
Faça um algoritmo que leia o código do funcionário, o sexo, o tempo de trabalho (em anos) e o salário. O
algoritmo deve calcular o valor do bônus.

27. Dados três valores X, Y e Z, verificar se eles podem ser os comprimentos dos lados de um triângulo e, se
forem, verificar se é um triângulo equilátero, isósceles ou escaleno. Se eles não formarem um triângulo,
escrever a mensagem. Considere as seguintes propriedades:

• O comprimento de cada lado em um triângulo é menor que a soma dos outros dois lados;
• Equilátero: tem os comprimentos dos três lados iguais;
• Isósceles: tem os comprimentos de dois lados iguais;
• Escaleno: tem os comprimentos dos três lados diferentes.

28. A empresa Eficaz resolver conceder aumento diferenciado para seus funcionários de acordo com a tabela
abaixo. Faça um algoritmo que leia o código do funcionário e seu salário atual. Escreva o código do funcionário
com o salário atual, o percentual que receberá de aumento e o valor deste aumento e o novo salário.
Média Conceito
≥ 500,00 e < 1.000,00 100%
≥ 1.000,00 e < 2.000,00 90%
≥ 2.000,00 e < 2.000,00 80%
≥ 3.000,00 e < 2.000,00 70%
≥ 4.000,00 e < 2.000,00 50%
≥ 5.000,00 30%
29. Faça um algoritmo que após ler uma idade diga bom dia ao usuário de forma especifica por idade, ouseja,
mostre uma mensagem que corresponda a idade do usuário. Utilize, pelo menos, quatro faixas de idades
distintas. Seja criativo nas mensagens.

30. No Calendário Gregoriano o ano é considerado como sendo de 365 + 97/400 dias (=365,2425 dias). Assim
sendo, no Calendário Gregoriano, existem 97 anos de 366 dias (que chamamos de bissextos) em cada período
de 400 anos.
Os anos bissextos são determinados pela seguinte regra:

(a) Todo ano divisível por 4 é bissexto.


(b) Todo ano divisível por 100 não é bissexto.(c) Todo ano divisível por 400 é bissexto.

O item c prevalece ao item b que por sua vez prevalece ao item a.


Escreva um algoritmo que calcule se um determinado ano entrado pelo usuário é bissexto. Lembre-se de
validar a entrada do usuário.

31. Faça um algoritmo que leia o código de identificação de um aluno e as suas quatro notas (3 provas + 1 nota
referente aos exercícios). Calcular para cada aluno a média usando a fórmula: média = ( N1 + N2 * 2 + N3 * 3
+ NE )/7. O algoritmo deve escrever o código do aluno, suas notas, a média e o conceito correspondente (ver
tabela) e a mensagem "APROVADO"(conceito = A, B ou C) ou "REPROVADO".

Média Conceito
≥ 9.0 A

≥ 7.5 e < 9.0 B

≥ 6.0 e < 7.5 C

≥ 4.0 e < 6.0 D

< 4.0 E
32. Faça um algoritmo que leia um código e três valores: a, b e c. Os códigos válidos são 1, 2, 3, 4 e 5. Se o código
for diferente destes, apresentar a mensagem “CÓDIGO INVÁLIDO” e terminar o programa.

(a) código = 1: multiplicar os três valores;


(b) código = 2: somar os três valores;
(c) código = 3: subtrair os três valores;(d) código = 4: somar o cubo dos 3 valores; (e) código = 5: somar o
quadrado dos 3 valores.

33. Faça um algoritmo que tendo como dados de entrada o preço de um produto e um código de origem emita
o preço junto de sua procedência. Caso o código não seja nenhum dos especificados o produto é considerado
importado. Os códigos de origem são os seguintes:
Cód. Origem
1 Sul
2 Norte
3 Leste
4 Oeste
5 ou 6 Nordeste
7, 8 ou 9 Sudeste
10 até 20 Centro Oeste
25 até 50 Noroeste
34. Faça um algoritmo que, dada a idade de um nadador, classifique-o em uma das seguintes categorias:

• Infantil A: 5 a 7 anos;
• Infantil B: 8 a 10 anos;
• Juvenil A: 11 a 13 anos;
• Juvenil B: 14 a 17 anos;
• Sênior: maiores de 18 anos.

O algoritmo deve escrever a idade e a classificação do nadador.

35. Um banco concederá um crédito especial aos seus clientes, variável conforme o saldo médio no último ano.
Faça um algoritmo que leia o saldo médio de um cliente e calcule o valor do crédito de acordo com a tabela
abaixo. Mostre um a mensagem informando o saldo médio e o valor do crédito.

• De 0 a 200: nenhum crédito;


• De 201 a 400: 20% do valor do saldo médio;
• De 401 a 600: 30% do valor do saldo médio; • Acima de 601: 40%¨do valor do saldo médio.

36. Faça um algoritmo que informe se existe estoque para atender um pedido feito a uma fábrica. O algoritmo
deverá receber como entradas o número de itens em estoque e o número de itens a serem fornecidos, e dará
com o saída o estoque atualizado ou uma mensagem indicando não haver itens suficientes em estoque para
atender o pedido.

37. Um vendedor necessita de um algoritmo que calcule o preço total devido por um cliente. O algoritmo deve
receber o código de um produto e a quantidade comprada e calcular o preço total, usando a tabela abaixo:

Cod. Preço Unitário


1001 5,32
1324 6,45
6548 2,37
0987 5,32
7623 6,45

38. Faça um algoritmo que lê três comprimentos de lados a, b, c e os ordena em ordem decrescente, de modo
que o “a” represente o maior dos três lados lidos. Determine, a seguir, o tipo de triângulo que estes três lados
formam , com base nos seguintes casos escrevendo sempre os valores lidos e uma mensagem adequada:

• Se a > b + c: não formam triângulo algum;


• Se a2 = b2 + c2: formam um triângulo retângulo;
• Se a2 > b2 + c2: formam um triângulo obtusângulo;
• Se a2 < b2 + c2: formam um acutângulo;
• Se forem todos iguais formam um triângulo equilátero;
• Se a = b ou b = c ou a = c então formam um triângulo isósceles.

39. Um usuário deseja um algoritmo onde possa escolher que tipo de média deseja calcular a partir de três notas.
Faça um algoritmo que leia as notas, a opção escolhida pelo usuário e calcule a média.

• Aritmética (A);
• Ponderada (P) (Pesos: 3, 3, 4);

• Harmônica (H)(

40. Regras para o cálculo dos dígitos verificadores do CPF. É utilizado como exemplo o número: 123456789.

(a) Calcule a soma dos produtos dos nove dígitos utilizando peso dois para unidade, peso 3 para dezena,
peso 4 para centena e assim sucessivamente. Exemplo:
9*2+8*3+7*4+6*5+5*6+4*7+3*8+2*9+1*10 = 210
(b) A dezena do número verificador é 0 caso o resto da divisão por 11 da soma dos produtos seja 0 ou 1;
caso contrário a dezena corresponde a subtrair de 11 o resto da divisão por 11 da soma dos produtos.
Exemplo: resto da divisão de 210 por 11 é 1 então a dezena do número verificador é 0.
(c) Calcule a soma dos produtos dos dez dígitos, onde o digito menos significativo passa a ser a dezena dos
dígitos verificadores, utilizando os seguintes pesos: 2, 3, 4, 5, 6, 7, 8, 9, 10, 11; Exemplo:
2*0+3*9+4*8+5*7+6*6+7*5+8*4+9*3+10*2+11*1=255.
(d) A unidade do número verificador é 0 caso o resto da divisão da soma dos produtos seja 0 ou 1; caso
contrário a unidade corresponde a 11 menos o resto da divisão por 11 da soma dos produtos.
Exemplo: resto da divisão de 255 por 11 é 2 então a unidade do número verificador é 11-
2=9.

Faça um algoritmo que recebe um número inteiro com 9 algarismos correspondente a um CPF e calcula os
dígitos verificadores.

41. Regras para cálculo dos dígitos verificadores do CNPJ.

(a) Considere os 8 dígitos à esquerda da barra e os 4 dígitos à direita da barra formando um número de 12
dígitos. Exemplo:
12.345.678/0001 forma o número 123.456.780.001
(b) Calcule a soma dos produtos dos doze dígitos pelos pesos: 2,3,4,5,6,7,8,9,2,3,4,5. Exemplo:
2*1+3*0+4*0+5*0+6*8+7*7+8*6+9*5+2*4+3*3+4*2+5*1 = 222.
(c) A dezena do número verificador é 0 caso o resto da divisão por 11 da soma dos produtos seja0 ou 1;
caso contrário a dezena corresponde a 11 menos o resto da divisão por 11 da soma dos produtos.
Exemplo:
222 mod 11 = 2 ⇒ dezena= 11-2 ⇒ dezena =9
(d) Considere agora o número de 13 dígitos formado pelos 12 dígitos anteriores e a dezena na posição
menos significativa. Exemplo:
1.234.567.800.01d
(e) Calcule a soma dos produtos dos treze dígitos pelos pesos: 2,3,4,5,6,7,8,9,2,3,4,5,6. Exemplo:
2*d+3*1+4*0+5*0+6*0+7*8+8*7+9*6+2*5+3*4+4*3+5*2+6*1 = 237.
(f) A dezena do número verificador é 0 caso o resto da divisão por 11 da soma dos produtos seja0 ou 1;
caso contrario a dezena corresponde a 11 menos o resto da divisão por 11 da soma dos produtos.
Exemplo:
237 mod 11 = 6 ⇒ unidade = 11-6 ⇒ unidade = 5

Faça um algoritmo que recebe um número inteiro com 12 algarismos correspondente a um CNPJ e calcula os
dígitos verificadores.

Você também pode gostar