Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

marcoszlk

Vetores em JS

Recommended Posts

Boa tarde, estou com esta atividade para resolver, mas não consigo, alguem pode me ajudar, tem que ser resolvido com vetores, da forma mais simples para entendimento. Agradeço desde ja !!!

Vou deixar em anexo os templates.

 

Fila:
Para execução desta atividade será fornecido o template html e js para adaptação:
 filaADesenvolver.html (renomear para fila.html);
 filaADesenvolver.js (renomear para fila.js).
Necessário desenvolver para Fila:
1 – Insere:
 Inserir pessoa na fila e avisar que a pessoa foi inserida;
 Checar se foi digitado um nome de pessoa. Caso não seja indicado um nome, não permitir inserir na fila e avisar o usuário que é
necessário digitar um nome;
 Ao inserir, atualizar a fila dos nomes (pré-implementado).
2 – Remove:
 Remover a pessoa da fila (Conceitualmente sai da fila a primeira pessoa);
 Checar se a fila possui pessoas para remover. Caso não tenha mais pessoas na fila, avisar o usuário que a fila está vazia;
 A cada remoção, atualizar a fila dos nomes (pré-implementado).
3 – Apaga:
 Limpa toda a fila.
4 – A cada ação de inserir, remover ou apagar, deve-se setar o foco do cursor no campo para indicar um novo nome de pessoas.
5 – Observar outros detalhes do enunciado.
Faça um ambiente web para controlar Fila de Banco. Deve permitir inserir o nome de pessoas. Deve permitir sair pessoas da
fila. Quando uma pessoa sair, o algoritmo deve realocar as pessoas na fila. Ao inserir uma pessoa na fila, deve checar se há
vaga nessa fila, se não houver vaga, alertar a pessoa que deve voltar outra hora. Considerar uma Fila de 5 pessoas no
máximo. Criar a possibilidade de listar as pessoas da fila.

Primeiro que entra, Primeiro que sai.

 

 

 

Pilha:
Para execução desta atividade será fornecido o template html e js para adaptação:
 filaADesenvolver.html (renomear para pilha.html);
 filaADesenvolver.js (renomear para pilha.js).
Necessário desenvolver para Pilha:
1 – Insere:
 Inserir caixa na pilha e avisar que a caixa foi inserida;
 Checar se foi digitado um número de caixa. Caso não seja indicado um numero, não permitir inserir na pilha e avisar o usuário que
é necessário digitar um numero;
 Ao inserir, atualizar a pilha dos números das caixas (pré-implementado).
2 – Remove:
 Remover a caixa da pilha (Conceitualmente sai da pilha a última caixa inserida);
 Checar se a pilha possui caixas para remover. Caso não tenha mais caixas na pilha, avisar o usuário que a pilha está vazia;
 A cada remoção, atualizar a pilha das caixas (pré-implementado).
3 – Apaga:
 Limpa toda a pilha.
4 – A cada ação de inserir, remover ou apagar, deve-se setar o foco do cursor no campo para indicar um novo número de caixa.
5 – Observar outros detalhes do enunciado.
Faça um ambiente web para controlar Pilha de Caixas. Deve permitir inserir caixa na pilha. Deve permitir remover caixa da
pilha. Ao inserir uma caixa na pilha, deve checar se há vaga nessa pilha (o teto é o limite), se não houver vaga, alertar a
pessoa que deve guardar a caixa em outro lugar. Considerar uma Pilha de 5 caixas no máximo. Criar possibilidade de listar as
caixas da pilha.

 

 

 

template JS :

 

var filaPessoas = [];

function listaPessoas(){
  //Entrada
  var divListaRepeticao = document.getElementById("listaRepeticao");
    
  //Processamento 
  var nroPessoas = filaPessoas.length;
  var resultado = "";  
  if  (nroPessoas == 0) {
      document.getElementById('informacao').value = "A fila de pessoas está vazia!!!";
  };      
      
  for (var contaPessoa = 0; contaPessoa < nroPessoas; contaPessoa++) {
      resultado += "<tr><td>"+filaPessoas[contaPessoa]+"</td></tr>";
  };  

  //Saída  
  divListaRepeticao.innerHTML = resultado;
  return true;
};

function inserePessoa() {
  //Entrada
  var nomePessoa = document.getElementById('nomePessoa').value;
     
  //Processamento
  
  //Saída

  return true;
};

function removePessoa() {
  //Entrada
  
  //Processamento
  
  //Saída

  return true;  
};

function limpaPessoas() {
  //Entrada
  
  //Processamento
  
  //Saída
  
  return true;
}; 

 

TEMPLATE HTML :

 

<!doctype html>
<html lang="pt-br"> 
  <head>
    <title>Fila de Pessoas</title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" integrity="sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB" crossorigin="anonymous">    
    <script language=javascript type="text/javascript" src="filaADesenvolver.js"></script>    
  </head>
  <body onLoad="listaPessoas()">
      <div class="container" style="padding-top: 20px">
        <div class="row"> 
          <div class="col-12"> 
              <form class="form-control bg-faded">
                <div class="col-12"> 
                    <h1>Fila de Pessoas</h1>
                </div>
                <div class="col-12">               
                    <div class="form-group row" id="idAdicionaBloco">
                        <label for="nomePessoa" class="col-1 col-form-label">Nome</label>
                        <input class="col-4 form-control" type="text" id="nomePessoa" placeholder="Nome da Pessoa a inserir">
                    </div>
                </div>
                <div class="col-12">                    
                    <div class="form-group">
                        <button type="button" class="btn btn-success" id="insere" onclick="inserePessoa()">Insere</button>
                        <button type="button" class="btn btn-danger" id="apaga" onclick="removePessoa()">Remove</button>
                        <button type="button" class="btn btn-warning" id="limpa" onclick="limpaPessoas()">Limpa</button>
                    </div>
                </div>
                <div class="row">
                    <div class="col-12">
                        <div class="alert alert-info">
                            <strong>Informação!</strong>
                            <input class="form-control" type="text" id="informacao" placeholder="Bem Vindo!" readonly>
                        </div>
                    </div>
                </div>    
                <div class="col-12">
                    <div class="table-responsive">
                        <table width="100%" cellpadding="0" cellspacing="0" border="0" class="table table-hover table-striped">
                            <thead>
                                <tr>
                                    <th>Pessoas</th>                                       
                                </tr>
                            </thead>
                            <tbody id=listaRepeticao>
                             <!-- Aqui vamos criar linhas dinamicamente!  
                                <tr>
                                    <td>Elementos...</td>
                                </tr>
                             -->
                            </tbody>
                        </table>
                    </div>
                </div>
            </form>          
          </div>
        </div>
      </div>
  </body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo o que você está pedindo é inviável, tá claro que você está com muitas dúvidas nessa matéria se perceber ninguém respondeu o motivo é simples você nem mesmo tentou, se você ler o enunciado vai ver que o nível de dificuldade não é tão grande assim apenas tente caso contrario vai apenas ganhar uma nota boa mas ficará sem o conhecimento, não tem outra forma senão quebrar a cabeça e pesquisar. Sinto muito não quero dar lição nenhuma mas o forum é justamente pra isso ajudar acredito que essa seja a forma que eu possa te ajudar agora.

 

Basicamente você irá manipular o vetor tente você consegue! Todos aqui já passaram por isso  

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Giovanird
      Olá a todos!
      Tenho uma pagina que possui uma DIV onde coloquei uma pagina PHP.
      Uso a função setInterval para atualizar a pagina inclusa dentro da DIV.
      O problema é que ao acessar o site , a DIV só me mostra a pagina inclusa somente quando completo o primeiro minuto.
      Preciso que a pagina inclusa já inicie carregada
       
      Meu código JavaScript e a DIV com a pagina PHP
       
      <script> function atualiza(){ var url = 'direita.php'; $.get(url, function(dataReturn) { $('#direita').html(dataReturn); }); } setInterval("atualiza()",60000); </script> <div> <span id="direita"></span> </div>  
    • Por Thiago Duarte
      Oi, gostaria de arrastar imagem e ao soltar formar bloco html, meu bloco de html ficaria com nome, content-1.html, content-2.html, etc
       
      Alguem pode me ajudar?
    • Por belann
      Olá!
       
      Estou fazendo o upload de arquivos com fetch dessa forma
      fetch(url, {
              method: 'POST',
              headers: {'Content-Type': 'multipart/form-data',},
              body: formData 
          }).catch((error) => (console.log("Problemas com o Upload"), error));
       
      estou usando input type=file
      e criando uma const formData = new FormData(); 
      mas não faz e não dá nenhum erro.
      estou fazendo o upload com a url="http://localhost/dashboard/dados".
    • Por joeythai
      Boa tarde pessoal,
       
      Eu criei um formulário em que tenho 3 interações: evento click, change e uma chamada ajax. No evento on change ("select#removal_table_from" )eu faço uma chamada ajax onde eu passo como parametro o id do item selecionado e construo uma tabela dinamica com o próprio javascript, após isto, tenho um input em que o usuario coloca um valor de percentual para que eu possa preencher em 3 colunas da tabela que foi criada dinamicamente: moto_atualizado, carro_atualizado e caminhao_atualizado, até aí tudo bem, o codigo está fazendo isso, porém, como a tabela é criada dinamicamente eu preciso de alguma forma enviar o arrayData para meu backend mas quando faço o calculo dentro do loop apos resposta do meu ajax, os valores desses 3 campos chegam como null, não sei se é possível fazer o que pretendo ou se é ainda não sei como faz
       
      <code>
           $(document).ready(function (event) {   let arrayData = []; let percentage; let removal_vehicle; let removal_motorcycle; let removal_tuck; let apply_removal = $('#apply_removal');   // apply_removal.on('click', function () { // percentage = $('#percentage').val();   // $('.table-body tr').each(function () {   // let veiculo = $(this).find('.veiculo').text(); // let moto = $(this).find('.moto').text(); // let caminhao = $(this).find('.caminhao').text();   // let removal_vehicle = parseFloat(veiculo) + (parseFloat(veiculo) * parseFloat(percentage)) / 100; // let removal_motorcycle = parseFloat(moto) + (parseFloat(moto) * parseFloat(percentage)) / 100; // let removal_tuck = parseFloat(caminhao) + (parseFloat(caminhao) * parseFloat(percentage)) / 100;   // arrayData.push({ // removal_vehicle, // removal_motorcycle, // removal_tuck // })   // $(this).find('.veiculo_atualizado').val(removal_vehicle.toFixed(2)); // $(this).find('.moto_atualizado').val(removal_motorcycle.toFixed(2)); // $(this).find('.caminhao_atualizado').val(removal_tuck.toFixed(2)); // }); // });   apply_removal.on('click', function () { percentage = $('#percentage').val();   $('.table-body tr').each(function () {   let veiculo = $(this).find('.veiculo').text(); let moto = $(this).find('.moto').text(); let caminhao = $(this).find('.caminhao').text();   removal_vehicle = parseFloat(veiculo) + (parseFloat(veiculo) * parseFloat(percentage)) / 100; removal_motorcycle = parseFloat(moto) + (parseFloat(moto) * parseFloat(percentage)) / 100; removal_tuck = parseFloat(caminhao) + (parseFloat(caminhao) * parseFloat(percentage)) / 100;   arrayData.push({ removal_vehicle, removal_motorcycle, removal_tuck })   $(this).find('.veiculo_atualizado').val(removal_vehicle.toFixed(2)); $(this).find('.moto_atualizado').val(removal_motorcycle.toFixed(2)); $(this).find('.caminhao_atualizado').val(removal_tuck.toFixed(2));     console.log('Removal Vehicle:', removal_vehicle); console.log('Removal Motorcycle:', removal_motorcycle); console.log('Removal Truck:', removal_tuck); }); });   $('select#removal_table_from').on('change', function (e) { let table_id = $(this).val(); let action = route('removal.removal-values.show', table_id);   $.ajax({ type: "GET", url: action, headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') },   success: function (data) { $('.table-body').empty();   for (let i = 0; i < data.length; i++) { let carro = parseFloat(data[i].CARRO); let moto = parseFloat(data[i].MOTO); let caminhao = parseFloat(data[i].CAMINHAO); let distancia = data[i].DISTANCIA; let origem = data[i].ORIGEM; let destino = data[i].DESTINO; let localidadeOrigem = data[i].LocalidadeOrigem_ID; let localidadeDestino = data[i].LocalidadeDestino_ID;   let newRow = '<tr class="removal-row">' + '<td class="align-middle">' + '<div class="row">' + '<div class="col-1">' + '<span class="font-weight-bold">Origem</span><br>' + '<span class="origem">' + origem + '</span>' + '</div>' + '<div class="col-1">' + '<span class="font-weight-bold">Destino</span><br>' + '<span class="destino">' + destino + '</span>' + '</div>' + '<div class="col-1">' + '<span class="font-weight-bold">KM</span><br>' + '<span class="km">' + distancia + '</span>' + '</div>' + '<div class="col-1">' + '<span class="font-weight-bold">Veículo</span><br>' + '<span class="veiculo">' + carro + '</span>' + '</div>' + '<div class="col-2">' + '<span class="font-weight-bold">Veículo Atualizado</span><br>' + '<input type="text" class="veiculo_atualizado">' + '</div>' + '<div class="col-1">' + '<span class="font-weight-bold">Moto</span><br>' + '<span class="moto">' + moto + '</span>' + '</div>' + '<div class="col-2">' + '<span class="font-weight-bold">Moto Atualizado</span><br>' + '<input type="text" class="moto_atualizado">' + '</div>' + '<div class="col-1">' + '<span class="font-weight-bold">Caminhão</span><br>' + '<span class="caminhao">' + caminhao + '</span>' + '</div>' + '<div class="col-2">' + '<span class="font-weight-bold">Caminhão Atualizado</span><br>' + '<input type="text" class="caminhao_atualizado">' + '</div>' + '</div>' + '</div>' + '</td>' + '</tr>';   $('.table-body').append(newRow); //let row = $('.removal-row:last');   // Calcula o valor atualizado e define nos campos diretamente // let veiculo_atualizado = carro + (carro * percentage) / 100; // let moto_atualizado = moto + (moto * percentage) / 100; // let caminhao_atualizado = caminhao + (caminhao * percentage) / 100; // console.log('PORCENTS: ', percentage); //console.log('Veiculo Atualizado:', veiculo_atualizado, 'Moto Atualizado:', moto_atualizado, 'Caminhao Atualizado:', caminhao_atualizado);   // Define os valores diretamente nos campos da nova linha // row.find('.veiculo_atualizado').val(veiculo_atualizado.toFixed(2)); // row.find('.moto_atualizado').val(moto_atualizado.toFixed(2)); // row.find('.caminhao_atualizado').val(caminhao_atualizado.toFixed(2));   arrayData.push({ carro, moto, caminhao, distancia, origem, destino, localidadeOrigem, localidadeDestino, removal_vehicle, removal_motorcycle, removal_tuck }); }   $('#copy_data_table').val(JSON.stringify(arrayData)); }   }); });   //javascript para o formulario de cadastro // $(document).ready(function (event) { $('#uf').change(function () { let code_city = $(this).val(); let deposit = localStorage.getItem('selected_deposit_id'); let action = route('removal.removal-values.cities', code_city); $.ajax({ type: "POST", url: action, headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }, data: { code_city: code_city },   success: function (data) {   $('#city').empty(); $('#deposit').empty();   for (let i = 0; i < data.cities.length; i++) { $('#city').append('<option value="' + data.cities[i].NM + '">' + data.cities[i].NM + '<option>'); }   if (data.deposits.length > 0) { for (let i = 0; i < data.deposits.length; i++) { $('#deposit').append('<option value="' + data.deposits[i].NM + '">' + data.deposits[i].NM + '<option>'); } } else { // $('#deposit').prop('disabled', true); // $('#city').prop('disabled', false); }   $('#city').trigger('change'); } });   });   $('#deposit').on('change', function () { depositId = $(this).val(); localStorage.setItem('selected_deposit_id', depositId); });   $('#uf_destiny').change(function () { let code_city = $(this).val(); let depositDestiny = localStorage.getItem('selected_deposit_destiny_id'); let action = route('removal.removal-values.cities', code_city); $.ajax({ type: "POST", url: action, headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }, data: { code_city: code_city },   success: function (data) {   $('#city_destiny').empty(); $('#deposit_destiny').empty();   for (let i = 0; i < data.cities.length; i++) { $('#city_destiny').append('<option value="' + data.cities[i].NM + '">' + data.cities[i].NM + '</option>'); }   if (data.deposits.length > 0) { // $('#deposit_destiny').prop('disabled', false); //$('#city_destiny').empty(); // $('#city_destiny').prop('disabled', true); for (let i = 0; i < data.deposits.length; i++) { $('#deposit_destiny').append('<option value="' + data.deposits[i].NM + '">' + data.deposits[i].NM + '</option>'); } } else { // $('#deposit_destiny').prop('disabled', true); // $('#city_destiny').prop('disabled', false); }   $('#city_destiny').trigger('change'); } }); });   $('#deposit_destiny').on('change', function () { let depositDestinyId = $(this).val(); localStorage.setItem('selected_deposit_destiny_id', depositDestinyId); });   }); </code>
    • Por gersonab
      Bom dia a todos, estou usando o datatable com uma consulta mysql e funciona 100% , meu único problema é na hora que eu exporto para pdf, este não vem com sua largura da tabela exportada em 100%, dependendo da situação ocupa apenas 30% da página, infelizmente após varias pesquisas ainda não encontrei uma forma de fazer.
      segue meu código de forma simples:
      $('#exportar').DataTable( { language: { url: '//cdn.datatables.net/plug-ins/1.13.7/i18n/pt-BR.json', }, dom: 'Bfrtip', order: [[ 0, 'desc' ]], buttons: [ 'pdfHtml5' ] } ); desde já agradeço toda ajuda possível
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.