Personagens Programar uma função filme que recebe três arrays com os nomes de personagens, filmes e ano de estréia no cinema. A função deve receber também um valor de id escolhido pelo usuário com intervalo de 1 até o tamanho máximo dos arrays fornecidos e retornar uma frase com o seguinte modelo: "personagem é um personagem do filme filme que estreou no cinema em lançamento." Se o valor de id for inválido, a função deve retornar a frase "Essa não é uma opção válida." Exemplo: personagens = ["Hermione", "Trinity", "Leia"] filmes = ["Harry Potter", "Matrix", "Star wars"] lancamentos = [2001, 1999, 1977] id = 3 Deve retornar a string: Leia é um personagem do filme Star wars que estreou no cinema em 1977.
Soluções para a tarefa
Resposta:
function filme(personagens, filmes, lancamentos, id) {
if(id>filmes.length || id<1)
return 'Essa não é uma opção válida.'
--id
return personagens[id]+' é um personagem do filme '+filmes[id]+' que estreou no cinema em '+lancamentos[id]
}
Explicação:
var filmes = ["Harry Potter", "Matrix", "Star wars"]
var lancamentos = [2001, 1999, 1977]
var id = 3
function filme(personagens, filmes, lancamentos, id)
{
if ((id > filmes.length + 1) || (id < 1)){
var msg = ("Essa não é uma opção válida.")
return msg
}
else{
var msg = (personagens[id-1] + " é um personagem do filme " + filmes[id-1] + " que estreou no cinema em " + lancamentos[id-1] + ".")
return msg
}
}
Resposta:
function filme(personagens, filmes, lancamentos, id) {
var tamanhoMaxArrays = Math.min(personagens.length, filmes.length, lancamentos.length) //verifica o tamanho das arrays e retorna o menor delas para nao ter valores vazios
if(id < 1 || id > tamanhoMaxArrays){ // se a id for maior que ou menor que o tamanho maximo ele gera erro.
var msgErro = "Essa não é uma opção válida."
return msgErro
}else{
id-- // o valor é diminuido de 1, já que a contagem nas arrays começa em 0
return (personagens[id] + " é um personagem do filme " + filmes[id] + " que estreou no cinema em " + lancamentos[id])
}
}
console.log(filme(personagens, filmes, lancamentos, id))o:
Esse código executa exatamente o que a atividade do Desafio Online - Programa bolsas Santander Mobile 2020 - T02 , do curso de introdução À programação da Digital House.
Porém o sistema deles retorna um erro que estou tentando descobrir.
Acredito que você tenha passado pelas etapas de aprendizado e consiga fazer os demais desafios. Volte no conteúdo caso tenha alguma dúvida e refaça as atividades para fixar melhor o conhecimento.
return (personagens[id] + " é um personagem do filme " + filmes[id] + " que estreou no cinema em " + lancamentos[id]+".")
var filmes = ["Harry Potter", "Matrix", "Star wars"]
var lancamentos = [2001, 1999, 1977]
var id = 3
function filme(personagens, filmes, lancamentos, id){
if (id > personagens.length){
return ("Essa não é uma opção válida.");
}else{
--id // Aqui é efeito o decréscimo do id para retornar o item correto ao array
return (personagens[id] + " é um personagem do filme " + filmes[id] + " que estreou no cinema em " + lancamentos[id] + ".")
}
}
Ao executar: filme(["Hermione", "Trinity", "Leia"],["Harry Potter", "Matrix", "Star wars"],[2001, 1999, 1977],1) deveria retornar "Hermione é um personagem do filme Harry Potter que estreou no cinema em 2001." Veja no terminal o retorno da sua função
Ao executar: filme(["Hermione", "Trinity", "Leia"],["Harry Potter", "Matrix", "Star wars"],[2001, 1999, 1977],3) deveria retornar "Leia é um personagem do filme Star wars que estreou no cinema em 1977." Veja no terminal o retorno da sua função
var personagens = ["Hermione", "Trinity", "Leia"]
var filmes = ["Harry Potter", "Matrix", "Star wars"]
var lancamentos = [2001, 1999, 1977]
var id = 3
function filme(personagens, filmes, lancamentos, id){
if ((id > filmes.length + 1) || (id < 1)){
return ("Essa não é uma opção válida.")
}
else{
return (personagens[id-1] + " é um personagem do filme " + filmes[id-1] + " que estreou no cinema em " + lancamentos[id-1] + ".")
}
}