Lista de Exercícios 6 Entrada e Saída 1) Faça um programa que calcule e exiba o percentual de aprovados de uma turma. O programa deverá ler a quantidade de alunos da turma e a quantidade de alunos aprovados. Faça uma função que receba como parâmetro a quantidade de alunos da turma e a quantidade de alunos aprovados. Esta função deverá calcular e exibir o percentual de aprovados da turma. 2) A Terra gira em torno do sol a 30 km/s. Faça um programa que exiba a distância (em km/h) que a Terra percorre no espaço durante uma quantidade de horas fornecida via teclado. 3) a) Escreva uma função para calcular e retornar a área de um lado de uma caixa retangular. Esta função deverá receber como parâmetro as dimensões do lado. b) Escreva uma função para calcular e retornar a área de um círculo de raio r. Esta função deverá receber como parâmetro o raio. c) Usando as funções dos itens anteriores, escreva um programa para calcular a metragem necessária para forrar uma caixa com uma tampa circular, com as dimensões ilustradas na figura abaixo. O programa deve capturar do teclado os valores das dimensões da peça. 4) Sabe-se que o volume de uma caixa de lados a, b e c é dado por Vcaixa = a x b x c e que o volume de um cilindro de raio r e altura h é dado por Vcilindro = πhr2. Pede-se: a) Escreva uma função para calcular e retornar o volume de uma caixa de lados a, b e c. Esta função deverá receber como parâmetro os lados a, b e c. b) Escreva uma função para calcular e retornar o volume de um cilindro de raio r e altura h. Esta função deverá receber como parâmetro o raio e a altura. 1
c) Usando as funções dos itens anteriores, escreva um programa para calcular o volume de uma caixa com um furo cilíndrico, com as dimensões ilustradas na figura abaixo. O programa deve capturar do teclado os valores das dimensões da peça e deve exibir o valor do volume calculado. 5) Faça um programa que capture do teclado o número de dias decorrido em um evento e exiba na tela o mesmo valor expresso em números de semanas e número de dias. Por exemplo, se um usuário fornecer o valor 19, o programa deve exibir 2 semanas e 5 dias. 6) Faça um programa que capture do teclado uma data no formato 'dd de mês de ano' e mostre a data no formato dd/três primeiras letras do mês/ano'. Exemplo: Entrada: 12 de abril de 1943 Saída: 12/abr/1943 7) Considere o polígono irregular abaixo, formado por três retângulos e um triângulo. a) Crie a função arearetangulo: recebe os lados de um retângulo e retorna a área b) Crie a função hipotenusa(cateto1,cateto2) que recebe dois catetos de um triângulo retângulo e retorna a hipotenusa deste triângulo c) Crie a função areatotal(a, b, c, d, e) que dados os valores dos lados a, b, c, d e e, calcule a área total do polígono. Utilize, obrigatoriamente, as funções do item a e b definidas anteriormente para calcular as áreas dos retângulos e do triângulo. Lembre-se que a área de um triângulo retângulo de catetos cateto1 e cateto2 é dada pela metade da área de um retângulo de lados cateto1 e cateto2. 2
d) Faça um programa que pergunte ao usuário os valores de a,b,c,d e e e exiba a área total e) Crie uma função escolhecor,que recebe o nome da figura (triângulo ou retângulo de pé ou retângulo deitado ou retângulo inclinado), apresente para o usuário um menu com uma paleta de cores (green','orange','red','blue','green','pink') e peça para que ele escolha a cor de preenchimento da figura. modifique o programa do item c, para que após perguntar os valores de a,b,c,d e e, apresente o menu para cada uma das figuras e, usando a turtle, desenheas preenchidas com as cores escolhidas pelo usuário. 8) Faça um programa que pergunte ao usuário o tamanho de um arquivo para downloads (em mb) e a velocidade de um link de internet (em mbps), calcule e informe o tempo aproximado de download do arquivo usando este link a) em minutos b) em horas: minutos:segundos 9) Uma escola deseja monitorar quanto tempo seus alunos ficam na escola. Faça um programa que leia o horário de entrada e o horário de saída de um aluno exibindo o tempo (em horas:minutos) que o aluno ficou na escola. a) Faça uma função que obtenha um horário(hora e minutos) e retorne-o convertido em minutos b) Faça uma função que receba uma quantidade de minutos e exiba-a no formato h:m:s 10) Na medicina, calcula-se a área da superfície do corpo de um ser humano para determinar, entre outras aplicações, a quantidade de suor expelido durante a realização de atividades física e a dosagem de alguns medicamentos. Há várias fórmulas para o cálculo da área da superfície corporal, entre elas pode-se citar: Fórmula de Mosteller Fórmula de Haycock e colaboradores A = p 0.5378 * h 0.3964 * 0.024265 onde A é a área em m2, p é o peso em quilogramas e h, a estatura em cm. Faça um programa que capture a altura( em cm) e o peso( em kg) de uma pessoa, exibindo a área corporal calculada pela fórmula de Mosteller e a área corporal calculada pela fórmula de Haycock. No final, seu programa deve mostrar também a diferença dos valores das áreas corporais entre a Fórmula de Mosteller e a Fórmula de Haycock. Seu programa deve chamar adequadamente as seguintes funções: 3
a) area_mostellerl(altura, peso): esta função recebe como parâmetro a altura e o peso de uma pessoa e retorna sua área corporal de acordo com a fórmula de Mosteller b) area_ Haycock corporal altura, peso): esta função recebe como parâmetro o a altura e o peso de uma pessoa e retorna sua área corporal de acordo com a fórmula de Haycock e colaboradores. 11) Construa uma função que, dado um número de conta corrente com três dígitos, retorne o seu dígito verificador, o qual é calculado da seguinte maneira: Exemplo: número da conta: 25678 I. Somar o número da conta com o seu inverso: 256 + 652 = 908; II. Multiplicar cada dígito pela sua ordem posicional e somar este resultado: 9 0 8 9 0 8 x 1 x 2 x 3 9 + 0 + 24 = 33 III. O último dígito deste resultado é o dígito verificador da conta (33 3) 12) Efetuar o cálculo do valor de uma prestação em atraso de um cliente inadimplente da loja, a partir do valor inicial e do número de meses em atraso: prestação = valor+(taxa/100)* tempo. Obs. A taxa é de 6% modifique o programa para que a taxa seja informada 13) Faça um programa que calcule e apresente o volume de cada kit de latas de óleo vendido pela empresa. Volume = 3.14159* r 2 * altura Obs. Em cada Kit tem-se 4 latas. Há 6 Kits modifique o programa para saber a quantidade de Kits modifique o programa para que a quantidade de latas de um Kit seja constante mas informada modifique o programa para saber o custo do Kit, considerando que cada lata custa 10,00 modifique o programa para saber o preço de venda do Kit sabendo que desejase 30% de lucro 14) Suponha que uma escola utilize, como código de matrícula, um número inteiro no formato AASDDD, onde: Os dois primeiros dígitos, representados pela letra A, são os dois últimos algarismos do ano da ingresso; 4
O terceiro dígito, representado pela letra S, vale 1 ou 2, conforme o aluno tenha ingressado no 1º ou 2º semestre; Os quatro últimos dígitos, representados pela letra D, correspondem à sua posição no vestibular do curso do aluno, no semestre e no ano em questão. Faça um programa que leia o número de matrícula de um aluno e imprima o ano e o semestre em que ele ingressou 15) Faça um programa para informar o tempo ( em horas: minutos) necessário para que um carro a uma velocidade constante de 100 km/h percorra uma distância fornecida pelo usuário. modifique o programa para que a velocidade do carro também seja fornecido se, a cada hora, o motorista desejar parar por 15 minutos, exiba o número total de paradas modifique o programa anterior para informar o tempo total decorrido entre a saída e a chegada no destino modifique o programa anterior para informar a velocidade que poderia ser empregada se o motorista utilizasse todo o tempo encontrado no item anterior, mas evitando as paradas. 16) Escreva um programa para calcular a redução do tempo de vida de um fumante. Pergunte a quantidade de cigarros fumados por dia e quantos anos ele já fumou. Considere que um fumante perde 10 minutos de vida a cada cigarro, calcule quantos dias de vida um fumante perderá. a) Exiba o total em dias. b) Exiba o total em semanas c) Exiba o total em meses, dias ( considere todos os meses com 30 dias) d) Exiba o total em anos, meses, dias ( considere todos os anos com 365 dias e os meses com 30 dias) 17) Faça um programa que informe quantos pontos um time de futebol no Brasileirão possui no campeonato, sabendo que o número de vitórias, derrotas e empates do time serão fornecidos. Vitória: 3 pontos, empate:2 pontos e derrota: 0 pontos 18) Faça um algoritmo que informe a razão entre o número de arremessos e o número de cestas do pivot de um time de basquete sabendo que a quantidade de cestas e o número total de arremessos por ele realizados serão fornecidos 5
19) Faça um programa que obtenha o horário de entrada ( hh mm ) e o horário de saída ( hh mm ) de um aluno na biblioteca, mostrando seu tempo de permanência ( em hh e mm ) Dica: 130 minutos 130//60: 2 horas e 130%60 10 minutos 20) Numa campanha comunitária, a quantidade de arroz arrecadada para distribuição e a quantidade de arroz que restou após a distribuição na campanha são registradas. Faça um programa, que a partir destes dados, informe quantas famílias foram atendidas. Obs. Para cada família doa-se 5 Kg modifique o programa para que a quantidade doada a cada família seja constante mas informada 21) Numa campanha comunitária, a quantidade de arroz arrecadada para distribuição e a quantidade de famílias a serem atendidas são registradas. Faça um programa, que a partir destes dados, informe quantos Kg serão doados a cada família. 22) A entrada de dados de um programa consiste na data atual e esta é fornecida por um string em que dia, mês e ano são dados nesta ordem e separados por barra. Deseja-se transformar esta cadeia modificando a ordem para mês / dia / ano. 23) a) Faça um função que receba uma string e retorne uma string com os caracteres da string recebida ao contrário b) Faça a função, gerastring, que recebe uma string composta por letras ( nome), uma string composta por algarismos (alg) e um número n(menor ou igual ao tamanho da 1ª string). Usando a função do item a) crie e retorne uma nova string de acordo com a seguinte regra: n primeiros caracteres da string nome + string alg invertida+ Exemplo: gerastring('patinhas', '19',3) 'Pat91' Faça um programa que pergunte ao usuário seu nome e ano de seu nascimento ( número com 4 dígitos) e, usando as funções anteriores, exiba seu login e senha. Login : composto por todos os caracteres do nome e os dois últimos algarismos do ano de seu nascimento Senha: composta pela metade dos caracteres do nome e o ano do nascimento invertido Exemplo: entrada: Patinhas 1984 Login: Patinhas48 Senha: Pati4891 6
24) A transmissão do nome e sobrenome dos clientes de uma conta bancária segue as seguintes regras: Os primeiros n caracteres do nome seguidos do n primeiros caracteres do sobrenome seguido do '*' seguido dos caracteres restantes do nome sguidos do '&' seguidos dos caracteres restantes do sobrenome. Faça um programa que leia o nome e o sobrenome do cliente, sorteie um número n ( usando a função randint) e mostre como será transmitido de acordo com a regra acima ( faça uma função para criar a string com o nome a ser transmitido) 25) a) Escreva uma função que receba duas strings e retorne a concatenação da primeira, sem a sua primeira metade com a segunda, sem os ( no máximo) n primeiros caracteres, onde n é igual ao tamanho da metade da primeira string. Faça um programa que leia o nome da mãe e o nome do pai de um bebê, mostrando as combinações possíveis dos nomes da mãe e pai de acordo com a regra acima. 26) Faça um programa que mostre o valor da entrada e de cada parcela a ser paga por uma pessoa. O total comprado e o número de parcelas serão fornecidos pelo usuário. A loja só parcela 70% do montante Modifique o programa acima para que seja acrescido uma taxa de administração de crédito sobre o valor parcelado. Esta taxa equivale a 10% do valor parcelado e deve ser pago junto com a entrada 27) Faça um programa que leia as duas notas de um aluno, calcule e imprima a sua média sabendo que a primeira nota tem peso 3 e a segunda nota tem peso 7. (o cálculo da média deve ser calculado por uma função) 28) Faça um programa para calcular a quantos metros de madeira serão necessários para emoldurar um quadro cujas dimensões são fornecidas pelo usuário. Exibir a resposta em m e cm (o cálculo da metragem deve ser calculado por uma função bem como a exibição da resposta) 29) Faça um programa que leia a altura de uma pessoa fornecida em cms e exiba-a em m e cm. Ex: 120 1m 20cm 30) Faça um programa que leia um verbo regular terminado em ar e mostre sua conjugação no futuro do pretérito.( a conjugação deve ser exibida por uma função) 31) Faça um programa que calcule o preço da gasolina por litro no Brasil se adotássemos o mesmo preço cobrado nos Estados Unidos. O programa deve capturar dois valores fornecidos via teclado: o preço do galão de gasolina praticado nos Estados Unidos (em 7
dólares) e a taxa de conversão do dólar para o real. O programa então deve exibir o preço do litro de gasolina correspondente em reais. Sabe-se que um galão tem 3.7854 litros. 32) Escreva um programa que pergunte a quantidade de km percorridos por um carro alugado pelo usuário e a quantidade de dias pelos quais o carro foi alugado. Calcule o preço a pagar, sabendo que a diária do o carro custa R$ 260 por dia e R$ 0,15 por km rodado. 33) Faça um programa que leia o primeiro termo de uma progressão aritmética, sua razão, um número N e, a seguir, calcule e mostre o N-ésimo termo da PA. termon = termo1 + ( razão * ( n - 1 ) ) 8