logo

Crowdly

CTC4002 - MODELAGEM E PROGRAMAÇÃO - 2025.1 - 33A 33B 33C 33D 33E 33F 33G 33H 33I 33J 33K 33L 33M

Looking for CTC4002 - MODELAGEM E PROGRAMAÇÃO - 2025.1 - 33A 33B 33C 33D 33E 33F 33G 33H 33I 33J 33K 33L 33M test answers and solutions? Browse our comprehensive collection of verified answers for CTC4002 - MODELAGEM E PROGRAMAÇÃO - 2025.1 - 33A 33B 33C 33D 33E 33F 33G 33H 33I 33J 33K 33L 33M at ead.puc-rio.br.

Get instant access to accurate answers and detailed explanations for your course questions. Our community-driven platform helps students succeed!

5 a) Construa uma função que receba um nº e retorne a soma de seus divisores, exceto ele mesmo.

     b) Construa uma função booleana que receba dois números e retorne True se são amigáveis ou False, caso contrário

Números amigáveis são pares de números onde um deles é a soma dos divisores do outro.

Por exemplo, os divisores de 220 são 1, 2, 4, 5, 10, 11, 20, 22, 44, 55 e 110, cuja soma é 284. Portanto, 220 e 284 são amigáveis

View this question

4. O número da sorte de uma pessoa irá determinar o bônus recebido. O bônus é o número da sorte * 1000,00 reais.

a) Faça a função acrescimo que recebe como parâmetro o nome, um número inteiro e o sexo ('f' – feminino, 'm' - masculino) e retorna o número recebido com o acréscimo. O acréscimo é calculado da seguinte forma:

    • Caso o sexo seja feminino  número_com_acréscimo = número recebido + 4

    • Caso o sexo seja masculino  número_com_acréscimo = número recebido + 2

Independente do sexo, caso o nome da pessoa tenha a sequência 'sol' ou 'Sol', deverá ser somado 7 ao número_com_acréscimo.

b) Faça a função numero_sorte que recebe como parâmetro o dia (inteiro), o mês (inteiro), o ano (inteiro de 2 dígitos), o nome de uma pessoa (string) e o sexo ('f' – feminino, 'm' - masculino). Esta função deverá utilizar, obrigatoriamente, a função acrescimo acima para calcular o dia_com_acréscimo e o mês_com_acrescimo. O número da sorte é o dígito menos significativo do resultado da soma: dia_com_acrescimo + mês_com_acrescimo + ano. 

Exemplos:

Se dia = 30, mês = 10, ano = 80, sexo = 'f', nome = 'Marisol', teremos: 41(30+4+7) + 21(10+4+7) + 80 = 142  nº da sorte = 2

Se dia = 30, mês = 10, ano = 80, sexo = 'm', nome = 'Solano', teremos: 39(30+2+7) + 19(10+2+7) + 80 = 138  nº da sorte = 8

Se dia = 30, mês = 10, ano = 80, sexo = 'f', nome = 'Maria', teremos: 34 (30+4) + 14(10+4) + 80 = 128  nº da sorte = 8

Se dia = 30, mês = 10, ano = 80, sexo = 'm', nome = 'Carlos' teremos: 32(30+2)+ 12(10+2) + 80 = 124  nº da sorte = 4

c) Faça um programa, utilizando adequadamente pelo menos as funções acima (itens a e b), que pergunte ao usuário seu nome (string), o sexo ('f'-feminino, 'm' - masculino), o estado civil (‘c’ – casada, ‘o’ – outros) e a data de nascimento ('dd/mm/aa'). Caso a pessoa seja casada, o programa deverá ler também sua data de casamento ('dd/mm/aa'). O programa deverá exibir seu nome e o bônus que ela receberá de Natal.  A data usada no cálculo do número da sorte depende do estado civil da pessoa:

    • Para a pessoa que não é casada, o número da sorte é calculado utilizando-se o dia, o mês e o ano de nascimento.

    • Para a pessoa casada, o número da sorte é o maior entre os dois valores abaixo:

    • Utilizando-se o dia, o mês e o ano de nascimento

    • Utilizando-se o dia, o mês e o ano de casamento

View this question

2) Uma empresa deseja criar uma assinatura personalizada para seus usuários a partir do nome e do sobrenome  fornecidos. A assinatura deve ser formada conforme as regras a seguir:

    • Se o primeiro nome começa ou termina com vogal, a assinatura será:

          chave_primeiro_nome + chave_ultimo_sobrenome + ultimo_sobrenome + ultimo_sobrenome

    • Caso contrário, a assinatura será:

          chave_ultimo_sobrenome + chave_primeiro_nome + primeiro_nome + primeiro_nome

A chave é composta pelo junção do primeiro caractere com  caractere do meio do nome ou sobrenome

Exemplo: "Ana Souza" → "AnSuSouzaSouza"

a) construa a função extrair_chave, que recebe um texto e retorna uma string resultante da concatenação do primeiro caractere com o caratere do meio

b) construa a função  booleana comeca_ou_termina_vogal , que recebe um texto e retorna True, se ele começa ou termina em uma vogal, False, caso contrário

c) construa a função  montar_assinatura que recebe o nome e o sobrenome e monta  e retorna uma string representando a assinatura personalizada conforme regras descritas acima

d) construa um BP que faça dois testes da sua função, uma o nome inicia ou termina em vogal e o outro, não

View this question

3. O sono de uma pessoa pode ser do tipo leve, moderado ou profundo, dependendo de vários fatores. Escreva um programa que leia o tipo do sono (string com os valores: leve, moderado ou profundo) e o número de horas de sono por noite (float) de uma pessoa e exiba o tempo (em minutos) de descanso adicional durante o dia necessário para essa pessoa, de acordo com a tabela abaixo:

Horas de Sono

Tipo do sono

Leve

Moderado

Profundo

< 5 horas

60 min

60 min

60 min

5 - 7 horas

(24 - horas de sono) / 3 * 5min

(limitado a, no máximo, 55 minutos)

Até 20 anos

40 min

15 min

Após 20 anos

30 min

> 7 horas

0 min

0 min

0 min

Observação: repare que em determinada situação, será necessário ler também a idade da pessoa. Mas essa leitura só deve acontecer quando for estritamente necessário.

View this question

1. a) Faça uma função que receba dois números (entre 10 e 99) e exiba na tela todos os números (inteiros e positivos)  tais que:

        ◦ Não terminem em zero;

        ◦ Se o dígito da direita for removido, o número restante é divisor do número original.

Exemplos:

39: 3 é divisor de 39

48: 4 é divisor de 48

A função deve retornar quantos números com esta característica ocorreram no intervalo

     b) construa  um programa que sorteie dois valores entre 10 e 99  ( random.randint) e mostre quais valores que não terminam em zero e que o algarismo da dezena é divisor do num. Ao final, deve ser exibido o percentual de números do intervalo tem esta característica

View this question

Want instant access to all verified answers on ead.puc-rio.br?

Get Unlimited Answers To Exam Questions - Install Crowdly Extension Now!