Informática, perguntado por jheniiffer19, 7 meses atrás

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."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."

Soluções para a tarefa

Respondido por lucasgema1
41

Resposta:

function filme(personagens, filmes, lancamentos, id)

{

 if ((id > 0) && (id <= filmes.length)) {

   var opt = id - 1;

   return personagens[opt] + " é um personagem do filme " + filmes[opt] + " que estreou no cinema em " + lancamentos[opt] + ".";

 }else{

   return "Essa não é uma opção válida.";

 }

}

Explicação:

É só seguir o enunciado. Não tem erro! A primeira condição que o programa estabelece é que o id seja válido. Para que ele seja válido, o seu tamanho mínimo deve ser 1 e também não deve ser maior que o tamanho dos arrays fornecidos. No código, observe que a primeira condição é essa: tratar o id. Muito bem! Se a condição de tratamento do id for verdadeira. Ou seja: se ele atender os requisitos, executaremos o restante do código. Senão for, ou seja, o id for inválido, retornaremos a mensagem de erro: "Essa não é uma opção válida!".

O restante do código se limita a construir a mensagem pedida caso o id seja válido. Como os arrays sempre começam pela posição 0(zero), se o id for 1 não pegará a posição correta. Por isso, devemos subtrair 1 unidade do id para acessar a posição correta dos arrays. A posição 0 do array é a primeira posição. Então, a campo 1 do array é a segunda. E assim por diante. Para resolver esse problema, foi criada uma outra variável que guardasse o id já subtraído. Agora assim! Acessando a posição correta é só concatenar todas as informações e retornar o valor.

Espero ter ajudado! Boa sorte no processo!


lucasgema1: Essa mensagem normalmente se refere a capacidade de armazenamento do servidor. Quando for assim, dê um tempo na navegação e mande a resposta em outro horário. Aconteceu comigo também. Mas, não quer dizer que você errou seu código.
CamilaBriel633: Lucas! Você é incrivel
lucasgema1: Obrigado!
ritterisabela: Não entendi o porquê do var opt = id - 1 no código. Poderia explicar? Obrigada
chadt7oficial: Sou iniciante em Programação e graças ao Lucas, estou conseguindo entender e resolver os enunciados.
chadt7oficial: gratidão Lucas !!
chadt7oficial: o código correcto é : if((id > 0) && (id <= filmes.length)) {

var opt = id -1;

return personagens[opt] + " " + "é um personagem do filme" + " " + filmes[opt] + " " + "que estreou no cinema em" + " " + lancamentos[opt] + "." ;
}else{

return "Essa não é uma opção válida."
}

}
não esqueçam dos espaços !!
alexsmith7192: o opt = id -1 é porque um array começa em 0
bporfiriosilva: Um id inválido dever retorna "Essa não é uma opção válida."
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
bporfiriosilva: Ao executar: filme(["Hermione", "Trinity", "Leia"],["Harry Potter", "Matrix", "Star wars"],[2001, 1999, 1977],2) deveria retornar "Trinity é um personagem do filme Matrix que estreou no cinema em 1999." 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
Respondido por chadt7oficial
4

Resposta:

 if((id > 0) && (id <= filmes.length)) {

 

var opt = id -1;

return personagens[opt] + " " + "é um personagem do filme" + " " + filmes[opt] + " " + "que estreou no cinema em" + " " + lancamentos[opt] + "." ;

 }else{

   return "Essa não é uma opção válida."

 }

}

Explicação:

Não esqueçam dos espaços !!!!

Perguntas interessantes