Buscar

AP_5-Implementacao_de_Funcoes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Universidade Federal de Ouro Preto
Instituto de Ciências Exatas e Biológicas
Departamento de Computação
BCC701
Programação de Computadores I
Semestre: 2021-01
Aula Prática – Implementação de Funções
Pré-requisitos:
• Estar familiarizado com o conteúdo das aulas anteriores e ter realizado as tarefas correspondentes.
• Ler o caṕıtulo 5 do livro texto da disciplina.
• Assistir os v́ıdeos e/ou aulas teóricas correspondentes.
Resumo:
• Já vimos que em Python podemos usar várias funções internas: int, float, input, print e range.
• Além dessas, existem outras funções que podem ser usadas e que fazem parte de bibliotecas de funções
que têm finalidades espećıficas e que precisam ser importadas (comando import) para serem usadas. Por
exemplo, a biblioteca math que possui as funções:
– sqrt: raiz quadrada
– cbrt: raiz cúbica
– sin: seno
– cos: cosseno
– Exemplo: x = math.sqrt(25), a variável x receberá o valor 5.
• As funções citadas anteriormente já estão implementadas na biblioteca padrão do Python ou na biblioteca
math, e existem várias outras bibliotecas de funções dispońıveis.
• Porém, a linguagem Python fornece recursos para que o programador possa implementar suas próprias
funções. Algumas vantagens em utilizar tais recursos:
– Os programas ficam mais leǵıveis, especialmente os maiores e mais complexos;
– Realizar alterações e correções no código fica mais fácil;
– Uma mesma tarefa pode ser representada em uma única porção de código (definição da função) e
utilizada sempre que necessário (chamada da função).
• Um exemplo de definição (implementação) e chamada (utilização) de funções:
1 # Definição (implementação da função)
2 def imprime_soma(a, b):
3 print(f"soma de {a} e {b} é igual a {a + b}")
4
5 # Chamadas (utilização da função implementada)
6 imprime_soma(2, 5)
7 imprime_soma(4, 8)
8 x = int(input(’Informe x: ’))
9 y = int(input(’Informe y: ’))
10 imprime_soma(x, y)
• Nesta prática a intenção é reforçar seus conhecimentos em todos estes recursos e praticar sua utilização
na construção de programas que resolvam algum problema espećıfico. Se você não está familiarizado com
os itens listados acima, consulte os pré-requisitos da prática, listados no ińıcio desta página.
1
Tarefa 1: Maior Valor
Função que imprime o maior valor entre dois passados por parâmetro.
1 def imprime_maior(x, y):
2 if x > y:
3 print(f"O maior valor é: {x}")
4 else:
5 print(f"O maior valor é: {y}")
6
7 imprime_maior(1, 3)
Note que a função acima imprime na tela mas não retorna nenhum valor, visto que não há o comando return.
A função a seguir, por outro lado, retorna o maior valor (note o comando return na linha 6).
1 def maior(x, y):
2 if x > y:
3 val = x
4 else:
5 val = y
6 return val
7
8 print(f"O maior valor é: {maior(1, 3)}")
Implemente um programa contendo os códigos apresentados anteriomente (em ordem) e faça testes de execução
e depuração.
2
Tarefa 2: Celsius para Fahrenheit e vice-versa
Função que converte o valor de Celsius para Fahrenheit.
1 def celsius_para_fahrenheit(c):
2 return c * 9/5 + 32
Função que converte o valor de Fahrenheit para Celsius.
1 def fahrenheit_para_celsius(f):
2 return (f − 32) * 5/9
Note que as funções acima recebem exatamente um argumento, a temperatura, e retorna o valor da temperatura
convertido para outra unidade. A seguir, vamos utilizar as funções acima, de acordo com os dados digitados
pelo usuário:
1 # entrada: temperatura e opcao
2 temperatura = float(input(’Digite a temperatura: ’))
3 opcao = input(’Digite 1 para converter de Celsius para Fahrenheit e 2
para converter de Fahrenheit para Celsius: ’)
4
5 if opcao == ’1’:
6 resultado = celsius_para_fahrenheit(temperatura)
7 print(f’{temperatura:.2f} Celsius = {resultado:.2f} Fahrenheit’)
8 elif opcao == ’2’:
9 resultado = fahrenheit_para_celsius(temperatura)
10 print(f’{temperatura:.2f} Fahrenheit = {resultado:.2f} Celsius’)
11 else:
12 print(f’Opção {opcao} inválida’)
Implemente um programa contendo os códigos apresentados anteriormente (em ordem) e faça testes de execução
e depuração.
3
Questão 1
Você empresta dinheiro com cobrança de juros simples, que é calculada da seguinte forma:
J = C × t×m
onde: J é o valor dos juros devido; C é o capital emprestado; t é a taxa de juros do peŕıodo; e m é a quantidade
de meses para quitação da d́ıvida.
A taxa de juros depende do capital emprestado: para valores menores ou iguais a R$ 10.000,00, a taxa de juros
é de 10% ao mês (ou seja, t = 0, 1), já para valores maiores que R$ 10.000,00 e menores ou iguais R$ 20.000,00,
a taxa de juros é de 7% ao mês (ou seja, t = 0, 07) e para valores maiores que R$ 20.000,00 a taxa de juros é
de 5% ao mês (ou seja, t = 0, 05).
Implemente um programa que receba como entradas os valores de: C (real) e m (inteiro). Em seguida ele
determina a taxa de juros t, levando em consideração o valor do capital emprestado, e calcula o valor de juros
devido. Ao final, o programa imprime a taxa de juros aplicada (valor percentual, com 0 casas decimais), o
juros devido calculado (J , com 2 casas decimais) e o valor total da d́ıvida (soma do capital emprestado e o
juros devido, também com 2 casas decimais).
O valor de juros devido (J) deve ser calculado através da implementação e chamada da função jurosDevido,
que recebe como argumentos os valores de C, t e m, calcula e retorna o valor de J .
Exemplos de execução a seguir.
Exemplo 1:
Capital emprestado: 1560.89
Quantidade de meses para quitação: 6
Taxa de juros aplicada: 10%
Juros devido: 936.53
Valor total: 2497.42
Exemplo 2:
Capital emprestado: 25900.99
Quantidade de meses para quitação: 3
Taxa de juros aplicada: 5%
Juros devido: 3885.15
Valor total: 29786.14
4
Questão 2
Implemente o programa descrito pelo fluxograma a seguir. Siga o formato de sáıda indicado nos exemplos
e note que o programa imprime o peso que deve ser perdido com exatamente 2 casas decimais. Você deve
implementar e utilizar duas funções:
• calculoIMC: recebe como argumentos de entrada o peso e a altura, calcula e retorna o IMC da pessoa.
• difPeso: recebe como argumentos de entrada o peso, o IMC desejado e a altura, calcula e retorna a
diferença de peso que a pessoa deve ganhar ou perder.
Início
Calcular IMC
Sexo é 
masculino (M)?
Valor de IMC 
é maior que 25? 
Valor de IMC 
é maior que 24? 
Informe à usuária 
que ela não precisa 
perder peso para ter 
IMC <= 24
Imprimir o peso que 
a usuária deve perder
para ter IMC=24
SimNão
SimNão
Informe ao usuário 
que ele não precisa 
perder peso para ter 
IMC <= 25
Imprimir o peso que 
o usuário deve perder
para ter IMC=25
SimNão
Fim
Ler valores do Peso, 
Altura e Sexo
Calcular o peso para 
obter IMC = 24
Calcular o peso para 
obter IMC = 25
Sexo é 
feminino (F)?
Sim
Informe que a entrada 
contém dados não 
reconhecidos
Não
Dica: lembre-se que IMC =
Peso
Altura2
e, portanto, Peso = IMC×Altura2.
Exemplo 1:
Digite seu peso (em kg): 90
Digite sua altura (em metros): 1.9
Seu sexo é masculino (M) ou feminino (F)? M
Você não precisa perder peso para ter IMC <= 25
Exemplo 2:
Digite seu peso (em kg): 60
Digite sua altura (em metros): 1.6
Seu sexo é masculino (M) ou feminino (F)? F
Você não precisa perder peso para ter IMC <= 24
5
Exemplo 3:
Digite seu peso (em kg): 60
Digite sua altura (em metros): 1.57
Seu sexo é masculino (M) ou feminino (F)? F
Você deve perder 0.84kg para ter IMC = 24
Exemplo 4:
Digite seu peso (em kg): 85
Digite sua altura (em metros): 1.75
Seu sexo é masculino (M) ou feminino (F)? M
Você deve perder 8.44kg para ter IMC = 25
Exemplo 5:
Digite seu peso (em kg): 85
Digite sua altura (em metros): 1.75
Seu sexo é masculino (M) ou feminino (F)? A
A entrada contém dados não reconhecidos
6
Questão 3
Uma feirante está vendendo frutas com a seguinte tabela de preços:
Até 5 kg acima de 5 kg
Morango R$ 2,50 por kg R$ 2,20 por kg
Maçã R$ 1,80por kg R$ 1,50 por kg
Implemente um programa para ler a quantidade (em Kg) de morangos e a quantidade (em Kg) de maçãs
adquiridas, ambos números reais, e escrever o valor gasto com cada fruta e o valor a ser pago pelo cliente (com
precisão de duas casas decimais). Se o cliente fornecer pelo menos uma das quantidades menor do que 0 (zero),
a mensagem “Entrada inválida” deve ser exibida no terminal. Você deve implementar e utilizar duas funções:
• validaEntradas: recebe como argumentos de entrada as quantidades de morango e maçã e retorna um
valor booleano representando se as entradas são válidas (True) ou inválidas (False).
• calculaCustos: recebe como argumentos de entrada as quantidades de morango e maçã, calcula e retorna
os dois valores gastos (um para morango e outro para maçã).
Exemplo 1:
Quantidade de Morangos (em kg): 0
Quantidade de Maçãs (em kg): 10.5
O valor pago pelos morangos é R$ 0.00
O valor pago pelas maçãs é R$ 15.75
O valor total da sua compra é R$ 15.75
Exemplo 2:
Quantidade de Morangos (em kg): 0
Quantidade de Maçãs (em kg): 0
O valor pago pelos morangos é R$ 0.00
O valor pago pelas maçãs é R$ 0.00
O valor total da sua compra é R$ 0.00
Exemplo 3:
Quantidade de Morangos (em kg): 10
Quantidade de Maçãs (em kg): −1
Entrada inválida
Exemplo 4:
Quantidade de Morangos (em kg): 10.8
Quantidade de Maçãs (em kg): 5
O valor pago pelos morangos é R$ 23.76
O valor pago pelas maçãs é R$ 9.00
O valor total da sua compra é R$ 32.76
7
Questão 4
Implemente um programa para ler a quantidade de lados (q, inteiro) de um poĺıgono regular, e a medida do
lado (L, real), classificar o poĺıgono, calcular e imprimir o valor da área (A, com duas casas decimais), conforme
as descrições a seguir:
• q < 3, “Não é um poĺıgono”;
• q igual a 3, “triângulo” com área: A = L
2×
√
3
4 ;
• q igual a 4, “quadrado” com área: A = L2;
• q igual a 5, “pentágono” com área: A = 5×L
2
4×tan(0,6283) ;
• q igual a 6, “hexágono” com área: A = 3×L
2×
√
3
2 ;
• q > 6, “Poĺıgono não identificado”.
Veja os exemplos de execução a seguir, observe que a medida do lado é solicitada apenas quando o poĺıgono
é válido, ou seja, primeiro é necessário avaliar a quantidade de lados e: (a) imprimir uma das mensagens de
entrada inválida; ou (b) solicitar a medida do lado e realizar o processamento. Você deve implementar e utilizar
a função calculaArea, que recebe como argumentos de entrada a quantidade de lados e a medida dos lados,
calcula e retorna o valor da área e o tipo de poĺıgono (“triângulo”, “quadrado”, “pentágono” ou “hexágono”).
Exemplo 1:
Digite a quantidade de lados: 2
Não é um polígono
Exemplo 2:
Digite a quantidade de lados: 7
Polígono não identificado
Exemplo 3:
Digite a quantidade de lados: 5
Digite a medida do lado: 8.3
O polígono é um pentágono com área: 118.53
Exemplo 4:
Digite a quantidade de lados: 3
Digite a medida do lado: 30
O polígono é um triângulo com área: 389.71
Exemplo 5:
Digite a quantidade de lados: 6
Digite a medida do lado: 10.5
O polígono é um hexágono com área: 286.44
8

Continue navegando