0% acharam este documento útil (0 voto)
39 visualizações4 páginas

Exercícios de Algoritmos em Python

Enviado por

Daniel Costa
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
39 visualizações4 páginas

Exercícios de Algoritmos em Python

Enviado por

Daniel Costa
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Bacharelado em Sistemas da Informação

Prof. Marco André Abud Kappel

Construção de Algoritmos
Exercícios da aula 6

Obs: Para cada exercício, crie um programa completo para testar a solução desenvolvida.

1. Escreva um programa que lê um número inteiro e imprime se ele é positivo, negativo ou nulo.

2. Escreva um programa para determinar o grau de obesidade de uma pessoa, sendo fornecidos
o peso e a altura da pessoa. O grau de obesidade é determinado pelo índice da massa corpórea
(Massa = Peso/ Altura²) através da tabela abaixo:

3. Escreva um programa que leia a sigla do estado em que uma pessoa nasceu e escreva uma das
mensagens: “carioca”, “paulista”, “mineiro” ou “outro estado” de acordo com estado informado.

4. Escreva uma função que recebe três números inteiros e retorna o menor deles. Faça um
programa para testar esta função.

5. Escreva um programa que simule o lançamento de dois dados de seis lados. O programa deve
exibir a pontuação total obtida no lançamento. Se os dados obtiverem números iguais, o
programa deve dobrar a pontuação final. O programa deve imprimir na tela os valores obtidos em
cada dado e a pontuação final.

6. Escreva uma função que recebe uma data (dia, mês e ano em separado) e retorne um valor
lógico indicando se a data é válida ou não. Faça um programa para testar esta função.

7. Escreva uma função que receba um caractere como parâmetro e retorne verdadeiro caso o
caractere seja uma consoante, e falso caso contrário. Faça um programa para testar esta função.

8. Segundo uma tabela médica, o peso ideal está relacionado com a altura e o sexo. Escreva uma
função que receba a altura e o sexo de uma pessoa, calcule e imprima o seu peso ideal, utilizando
as seguintes fórmulas:
➢ Para homens: 72.7 × ℎ − 58
➢ Para mulheres: 63.1 × ℎ − 44.7

9. A prefeitura do Rio de Janeiro abriu uma linha de crédito para os funcionários estatutários. O
valor máximo da prestação não poderá ultrapassar 30% do salário bruto. Escreva uma função
que recebe o salário bruto e o valor da prestação e retorna um valor lógico indicando se o
empréstimo pode ou não ser concedido. Faça um programa para testar esta função.
Bacharelado em Sistemas da Informação
Prof. Marco André Abud Kappel

10. Deseja-se calcular a conta de consumo de energia elétrica de um consumidor. Para isso, escreva
uma função que recebe o preço do KW, a quantidade de KW consumido e o valor mínimo a
se pagar. Ao final, a função retorna o total a pagar:

• Total a pagar = preço x quantidade

• Restrição: existe um valor mínimo a ser pago.

Escreva um programa para ler o preço do KW, a quantidade de KW consumido e o valor mínimo a
se pagar. Chame a função construída e escreva o total a pagar.

11. Um estacionamento cobra de seus clientes o valor de R$ 2,00 por hora ou fração. Se um cliente
ficar mais de 4 horas, é cobrado o valor total de uma diária, igual a R$ 10,00. Crie uma função
que recebe o tempo que o cliente passou no estacionamento em minutos e retorna o valor total
a ser pago. Faça um programa para testar esta função.

12. Um comerciante comprou um produto e quer vendê-lo com um lucro de 45% se o valor do produto
for menor que R$ 20,00; caso contrário o lucro será de 30%. Escreva uma função que receba o
valor do produto e imprima o valor da venda. Faça um programa para testar esta função.
13. Um clube de futebol deseja aumentar o salário de seus jogadores. O reajuste deve obedecer a
seguinte tabela:

Escreva um programa para ler o nome e o salário atual de um jogador. Depois, o programa deve
escrever o nome, o salário atual e o salário reajustado. Faça uma função para calcular o reajuste
do salário. A função deve receber o valor do salário atual e retornar o salário reajustado.

14. Faça um programa para calcular a conta final de um hóspede de um hotel, considerando que:
• Serão lidos o nome do hóspede, o tipo do apartamento utilizado (A, B, C ou D), o número de
diárias utilizadas pelo hóspede e o valor do consumo interno do hóspede.
• O valor da diária é determinado pela seguinte tabela:

• O valor total das diárias é o número de diárias usadas multiplicado pelo valor da diária.
• O subtotal é a soma do valor total das diárias e o valor do consumo interno.
• O valor da taxa de serviço equivale a 10% do subtotal.
• O total geral resulta da soma do subtotal com a taxa de serviço.
Bacharelado em Sistemas da Informação
Prof. Marco André Abud Kappel

O programa deve imprimir a conta final, contendo: o nome do hóspede, o tipo do apartamento, o
número de diárias utilizadas, o valor unitário da diária, o valor total das diárias, o valor do consumo
interno, o subtotal, o valor da taxa de serviço e o total geral. (Obs: Procure dividir ao máximo o
programa em subprogramas)

15. Escreva uma função chamada “pegaDigito” que recebe um número inteiro e retorna o dígito em
uma posição desejada. Considere o dígito das unidades como posição 0, o dígito das dezenas
como posição 1, e assim por diante. Se o número não possuir um dígito na posição indicada, a
função deve retornar -1 e escrever na tela “Erro: posição inválida”.
Exemplos:
➢ pegaDigito(41253, 3) -> retorna 1
➢ pegaDigito(41253, 0) -> retorna 3
➢ pegaDigito(41253, 5) -> retorna -1 e escreve “Erro: posição inválida”.

Dica: pense em utilizar as operações de divisão, resto da divisão e potência.

16. Um número é estranho se tem no máximo 5 dígitos e todos eles são menores do que o seu
dígito menos significativo. Escreva uma função que retorna um valor lógico indicando se um
número é estranho. Faça um programa para testar esta função.

17. Um número é horário se estiver representando a indicação de um relógio digital. Escreva uma
função que retorna um valor lógico indicando se um número inteiro é horário. Ex: 11:25h = 1125.
Faça um programa para testar esta função.

18. Um número é pequeno se é um múltiplo de 3 e, além disso, o seu dígito menos significativo é
ímpar. Escreva uma função que retorna um valor lógico indicando se um número inteiro é
pequeno. Faça um programa para testar esta função.

19. Um número é assimétrico se, além de ser pequeno, for maior do que 10 e menor do que 1000.
Escreva uma função que retorna um valor lógico indicando se um número é assimétrico. Faça
um programa para testar esta função.

20. 18. Um número é analfabeto se possui no máximo 4 dígitos e o total de dígitos pares for igual
ao total de dígitos ímpares. Escreva uma função que retorna um valor lógico indicando se um
número é analfabeto. Faça um programa para testar esta função.

21. Um número é louco se for horário e analfabeto. Escreva uma função que retorna um valor lógico
indicando se um número é analfabeto. Faça um programa para testar esta função.
Bacharelado em Sistemas da Informação
Prof. Marco André Abud Kappel

22. O CPF é formado por 11 dígitos numéricos. Para ser considerado um CPF válido, estes dígitos
precisam obedecer uma série de regras. Como exemplo, considere o CPF 867.678.699-29.

a) Validação do primeiro dígito verificador:


• Primeiramente, multiplica-se os 9 primeiros dígitos pela sequência decrescente de
números de 10 a 2 e calcula-se a soma os resultados.
No exemplo: 8 × 𝟏𝟎 + 6 × 𝟗 + 7 × 𝟖 + 6 × 𝟕 + 7 × 𝟔 + 8 × 𝟓 + 6 × 𝟒 + 9 × 𝟑 + 9 × 𝟐
Resultado: 383
• Depois, multiplica-se o resultado por 10 e pegamos o resto da divisão deste resultado por
11.
No exemplo: (383 × 𝟏𝟎) % 𝟏𝟏
Resultado: 2
• O resultado deve ser igual ao primeiro dígito verificador do CPF, ou seja, o primeiro após
o “-“.
No exemplo: 2==2? Sim! Primeiro dígito verificado!

b) Validação do segundo dígito verificador:


• Primeiramente, multiplica-se os 10 primeiros dígitos pela sequência decrescente de
números de 11 a 2 e calcula-se a soma os resultados.
Exemplo: 8 × 𝟏𝟏 + 6 × 𝟏𝟎 + 7 × 𝟗 + 6 × 𝟖 + 7 × 𝟕 + 8 × 𝟔 + 6 × 𝟓 + 9 × 𝟒 + 9 × 𝟑 + 2 × 𝟐
Resultado: 453
• Depois, segue o mesmo processo realizado na primeira verificação:
Exemplo: (453 × 𝟏𝟎) % 𝟏𝟏
Resultado: 9
• O resultado deve ser igual ao segundo dígito verificador do CPF:
No exemplo: 9==9? Sim! Segundo dígito verificado!

Observação 1: Se todos os dígitos do cpf forem iguais, o cpf é inválido, mesmo que passe nas
validações.
Observação 2: Se o resto da divisão for igual a 10, considere-o como 0.

Com essas duas verificações é possível constatar se o CPF é válido ou não.


Crie uma função que recebe dois argumentos: um número inteiro com os 9 primeiros dígitos de um
CPF, e outro número inteiro com os 2 dígitos verificadores. A função deve retornar verdadeiro se o
CPF for válido e falso caso contrário.

Você também pode gostar