Junho 2024
Organize as linhas de código abaixo de forma que o programa resultante que solucione o seguinte problema:
Crie uma calculadora que, dados dois números quaisquer, apresente a multiplicação do primeiro número pelo segundo número.
populacaoNA que armazena um valor qualquer inserido pelo usuário.fraseNA que armazena a expressão String "Nova Andradina tem a população de X", sendo X substituído pelo valor armazenado na variável populacaoNApopulacaoIV que armazena qualquer valor qualquer inserido pelo usuáriopopTotal que armazena o valor populacaoNA + populacaoIVfraseTotal que armazena a expressão String "Nova Andradina tem a população de X, Ivinhema a população de Y e o total de Z", sendo que X, Y e Z devem ser substituídas pelos valores das variáveis populacaoNA, populacaoIV e popTotalfraseNA e fraseTotalCrie uma calculadora que aceita como entrada três números quaisquer, calcule a soma do primeiro número com o segundo número e multiple o resultado da soma pelo terceiro número, apresentando este valor como resultado final.
prim = 20
sec = 10
if (prim < sec):
prim = prim / 2
if (prim < 2 * sec):
prim = prim * 2
sec = sec / 2
else:
prim = prim + 1
sec = sec - 1
elasSaoIguais = (prim == sec)
if (elasSaoIguais):
prim = prim + 1
print(prim, sec)
Pense neste código em execução. Responda às perguntas abaixo:
if)?if é avaliada para True?if do meio possui um else. Quantas vezes o bloco da falsidade é executado?
if (number > 0):
if (number % 2 == 0):
print("A")
else:
print("B")
print("C")
print("D")
if (number > 0):
if (number % 2 == 0):
print("E")
print("F")
else:
print("G")
print("H")
Pense neste código em execução. Responda às perguntas abaixo:
number tem o valor de 5?number tem o valor de 6?number tem o valor de -5?number tem o valor de -6?O primeiro passo consiste em entender o problema e definir claramente o contexto em que o problema está definido. De acordo com a formulação do problema temos:
Entrada: Consideramos como entrada todos os elementos que serão fornecidos para que o programa possa ser executado. No caso, temos as três notas, que são valores reais.
Saída: O resultado do programa. No caso, devemos apresentar no console uma String, dizendo "APROVADO" ou "REPROVADO". Considere que para aprovação o aluno deve ter média superior a 6.0
Processo: Esse é exatamente o objetivo do programa, ou o que o programa deve fazer para que uma determinada entrada seja transformada em uma determinada saída. Temos então, genericamente:
notaTrabalho, notaAtividade, notaParticipação→ O símbolo → nesse contexto simboliza uma transformação ou produção, no sentido de que o programa irá transformar a entrada em uma saída. resultadoFinal
Number, Number, Number→ O símbolo → nesse contexto simboliza uma transformação ou produção, no sentido de que o programa irá transformar a entrada em uma saída. String
Construindo exemplos
8, 7, 6 → APROVADO
De acordo com as saídas e o comportamento do programa, além da descrição do problema, identificamos a necessidade de criar um modelo que primeiro calcule a média ponderada de cada nota. Isso significa que a nota de projeto, por exemplo, deve ser ponderada em 50% da nota final. Na prática, isso significa multiplicar a nota do projeto por 0.5. Se a nota de atividades corresponde a 30% da nota final, multiplicar por 0.3, e assim por diante (note que a soma das ponderações deve ser sempre igual a 1).
Após o cálculo da média, devemos testar se a média final é maior do que 6.0. Caso verdade, o aluno está aprovado, caso não seja verdade, reprovado.
Será que o programa realmente atinge os objetivos propostos e soluciona o problema?
Para tanto, é essencial que testemos o programa! Usando os exemplos do passo 2, o nosso programa resulta na mesma saída? Ou seja, para cada uma das entradas dos exemplos, a saída correspondente é apresentada?
Você pode simular várias execuções do mesmo em uma REPL.
| ID | Função | Percentual |
|---|---|---|
| 101 | Gerente | 10% |
| 102 | Engenheiro | 20% |
| 103 | Técnico | 30% |
O primeiro passo consiste em entender o problema e definir claramente o contexto em que o problema está definido. De acordo com a formulação do problema temos:
Entrada: Consideramos como entrada todos os elementos que serão fornecidos para que o programa possa ser executado. No caso, o salário inicial e o código da função do empregado.
Saída: O resultado do programa. No caso, devemos apresentar no console três valores reais: o salário antigo, o novo salário e a diferença entre o salário antigo e o novo.
Processo: Esse é exatamente o objetivo do programa, ou o que o programa deve fazer para que uma determinada entrada seja transformada em uma determinada saída. Temos então, genericamente:
salario, codigo→ O símbolo → nesse contexto simboliza uma transformação ou produção, no sentido de que o programa irá transformar a entrada em uma saída. salarioAntigo, novoSalario, diferenca
Number, Number→ O símbolo → nesse contexto simboliza uma transformação ou produção, no sentido de que o programa irá transformar a entrada em uma saída. Number, Number, Number
Construindo exemplos
10000, 101 → 10000, 11000, 1000
De acordo com as saídas e o comportamento do programa, além da descrição do problema, identificamos a necessidade de criar um modelo que primeiro verifique qual é a função do empregado, baseado no seu código. Cada código (empregado) será um bloco. Devemos acrescer o valor do salário inicial ao percentual, de acordo com cada empregado. Lembrando, para dar um aumento de 20%, basta multiplicar o salário inicial por 1.2. Lembre-se de calcular a diferença entre o salário inicial e o final!
Será que o programa realmente atinge os objetivos propostos e soluciona o problema?
Para tanto, é essencial que testemos o programa! Usando os exemplos do passo 2, o nosso programa resulta na mesma saída? Ou seja, para cada uma das entradas dos exemplos, a saída correspondente é apresentada?
Você pode simular várias execuções do mesmo em uma REPL.