Informática, perguntado por karynascp81, 11 meses atrás

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. Dica: Lembre que os arrays começam a contar sua posição do valor 0. function filme(personagens, filmes, lancamentos, id) { // Escreva abaixo o seu código: }

Soluções para a tarefa

Respondido por lucasgema1
0

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!


CamilaBriel633: Lucas, surge um erro quando é digitado esse código.
lucasgema1: Qual o erro que surgiu?
bporfiriosilva: da esses erros aqui
bporfiriosilva: Erros:
Um id inválido dever retorna uma mensagem de erro
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
" Veja no terminal o retorno da sua função
bporfiriosilva: Erros:
Um id inválido dever retorna uma mensagem de erro
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
bporfiriosilva: ja coloquei as variaveis porem esta dando estes erros
Perguntas interessantes