Prova Desenvolvimento de Sistemas Web
Por: datebayo • 18/3/2024 • Exam • 647 Palavras (3 Páginas) • 82 Visualizações
DESCRIÇÃO DAS QUESTÕES
Questão 1 (vale até 5,0 pontos)
Lendo arquivos e agregando seus dados
Crie um programa em Javascript que receba como argumento dois nomes
de arquivos (disponíveis junto à prova na pasta questao1_arquivos):
- recursos.csv
- quantidades.csv
Ao ler esses arquivos, o programa deve unir os dados em objetos e
adicioná-los em um Array para posterior consulta. Os dados do arquivo
seguem a seguinte estrutura:
arquivo recursos.csv
rec_ref;rec_tipo;rec_desc
REF001;Humano;Vendedores
REF002;Intelectual;Patente
REF003;Humano;Desenvolvedores
REF004;Material;Maquinário
REF005;Intelectual;Direitos Autorais
REF006;Intelectual;Software
REF007;Material;Matéria prima
arquivo quantidades.csv
rec_ref;rec_qtd
REF001;3
REF002;0
REF003;5
REF004;2
REF005;0
REF006;3
REF007;4
Trabalhe como esses arquivos em seu programa da seguinte maneira:
● Crie uma classe chamada Recurso que deve para representar os
dados unidos dos arquivos. Defina a classe como um módulo;
● Crie Promises para ler os arquivos. Ao lê-los, você deverá cruzar as
suas informações (coluna rec_ref) e instanciar objetos do tipo
Recurso para representar os dados dos dois arquivos unidos. Exclua
aquilo que for repetido entre os dois arquivos;
● Salve cada objeto de Recurso criado em um Array. Você deve
defini-lo em um módulo;
● Faça com que seu script permita selecionar, por meio de um menu
de opções, as seguintes operações:
○ Listar todos os recursos
○ Listar todos os recursos ausentes
○ Listar todos os que tenham mais do que 10 unidades
● Na implementação das funcionalidades citadas no item anterior,
utilize uma função chamada listaRecursos(callback) que receba um
callback para realizar a operação selecionada pelo usuário. A
função que recebe o callback deve ser definida no módulo onde for
armazenado o Array.
Critérios de correção
● Implementação correta da classe Recurso (1,0 ponto);
● Separação da classe Recurso e da parte do array em módulos (0,5
ponto);
● Leitura correta dos arquivos recursos.csv e arquivo quantidades.csv
como Promises (1,5 ponto);
● União correta dos dados dos arquivos para criar objetos da classe
Recurso (1,0 ponto);
● Menu de opções e implementação das funcionalidades de listagem
com callback (1,0 ponto).
Questão 2 (até 5,0 pontos)
Promessas feitas e quebradas: As desventuras de Bob, o
Consultor Muito Bem Pago
Sua empresa adquiriu um novo sistema de pedidos e contratou Bob, o
Consultor Muito Bem Pago, para desenvolver um front-end. No entanto, após
atrasos contínuos e entregas perdidas, o seu contrato chegou ao fim. Bob
desaparece como um fantasma na neblina, deixando você para ver se
consegue resgatar dele pedaços de seu trabalho.
Nisto tudo, uma coisa é certa: Bob deixou uma série de Promises quebradas
em seu rastro.
Você pode ajudar a consertá-las? Considere o seguinte uso de inserção de
um pedido:
submeterPedido("cli03");
O comando acima deve retornar a mensagem "Seu pedido foi feito com
sucesso" no console. Entretanto, o código que Bob entregou para sua
empresa não permite que esse resultado seja alcançado. Veja como ficou:
function submeterPedido(usuario) {
let carrinhoCompras, cep, custoEnvio,
...