Abril 2022
let prim = 20
let 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
}
let elasSaoIguais = (prim == sec)
if (elasSaoIguais) {
prim = prim + 1
}
console.log(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) {
console.log("A")
} else {
console.log("B")
}
console.log("C")
}
console.log("D")
if (number > 0) {
if (number % 2 == 0) {
console.log("E")
}
console.log("F")
} else {
console.log("G")
}
console.log("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.