Ir ao conteúdo
  • Cadastre-se

GustavoHCS

Membro Pleno
  • Posts

    42
  • Cadastrado em

  • Última visita

Reputação

24
  1. Certamente fiz alguma besteira em algum momento que estava tentando resolver um problema e em decorrência disso não tenho mais nenhum acesso para criar pastas, renomear, tampouco deletá-las. Inicialmente achei que fosse a unidade que estivesse manipulando como a C, mas tentei em outras que há no HD como a D e E, mas não obtive sucesso. Utilizo o Ubuntu 20.04 LTS.
  2. Resolveu muito. Entendi o que foi feito, mais ainda o porque do código constantemente falar para definir o contador, mas não entendia como. a eliminação do for e usar apenas o a na de repetição while. Ajudou demais e aprendi muito com estas alterações. Muito agradecido @Marcelo Calazans.
  3. Galera, boa noite, há um desafio que consegui fazer, porém queria ter uma visão mais "light" do código que executasse o mesmo processo... Desafio Faça a leitura de um valor inteiro. Em seguida, calcule o menor número de notas possíveis (cédulas) onde o valor pode ser decomposto. As notas que você deve considerar são de 100, 50, 20, 10, 5, 2 e 1. Na sequência mostre o valor lido e a relação de notas necessárias. Entrada Você receberá um valor inteiro N (0 < N < 1000000). Saída Exiba o valor lido e a quantidade mínima de notas de cada tipo necessárias, seguindo o exemplo de saída abaixo. Após cada linha deve ser imprimido o fim de linha. Se a entrada for 576 a saída será... 576 5 nota(s) de R$ 100,00 1 nota(s) de R$ 50,00 1 nota(s) de R$ 20,00 0 nota(s) de R$ 10,00 1 nota(s) de R$ 5,00 0 nota(s) de R$ 2,00 1 nota(s) de R$ 1,00 Fiz o código e funcionou, mas ficou carregado de IF's let valor = 576; let nota100 = 0; let nota50 = 0; let nota20 = 0; let nota10 = 0; let nota5 = 0; let nota2 = 0; let nota1 = 0; let valor_aux = valor; while (valor != 0) { if ( valor >= 100 ) { valor -= 100; nota100 += 1; } else if ( valor >= 50 ) { valor -= 50; nota50 += 1; } else if ( valor >= 20 ) { valor -= 20; nota20 += 1; } else if ( valor >= 10 ) { valor -= 10; nota10 += 1; } else if ( valor >= 5 ) { valor -= 5; nota5 += 1; } else if ( valor >= 2 ) { valor -= 2; nota2 += 1; } else if ( valor >= 1 ) { valor -= 1; nota1 += 1; } } console.log( valor_aux ); console.log( nota100 + " nota(s) de R$ 100,00"); console.log( nota50 + " nota(s) de R$ 50,00"); console.log( nota20 + " nota(s) de R$ 20,00"); console.log( nota10 + " nota(s) de R$ 10,00"); console.log( nota5 + " nota(s) de R$ 5,00"); console.log( nota2 + " nota(s) de R$ 2,00"); console.log( nota1 + " nota(s) de R$ 1,00"); Consegui reduzir o código, mas estou com dificuldade pra corrigir no bloco do while e if onde não consigo fazer com que o identificador "valor" permanecesse, exemplo, 576 - 500 = 76, ele não permanece os 76, simplesmente reinicia o valor: let valor = 576; let nota = [100, 50, 20, 10, 5, 2, 1]; let contador = []; let contador_aux = valor; for( let a = 0; a < 7; a++ ) { while( valor >= nota[a] ) { if( valor >= nota[a] ) { valor -= nota[a]; contador_aux += 1; contador[a] = contador_aux; } } } console.log( valor_aux ); for (let i = 0; i < 7; i++) { console.log( contador[i] + " nota(s) de R$ " + nota[i] + ",00"); }
  4. É possível usar o conteúdo de uma posição do array para realizar uma operação? Exemplo: x[0] = 100; // valor que há na posição x[0] += 1; // a operação que desejo fazer e resultar em 101
  5. Estou estudando JavaScript e me deparei com a uilização de dois pontos de esclamação, mas confesso que não entendi a lógica para utilização deles. Uma negação até faz sentido pra mim, mas duas... Eu não consigo ver a aplicação destes em alguma função ou qualquer outro lugar. Tipo: const isAtivo = true console.log(!!isAtivo) Define o identificador e é atribuído à ele o valor verdadeiro, daí no console vira falso depois verdadeiro de novo. Qual o sentido disso? Se ele é verdadeiro, pra que trocar pra ter certeza de que realmente é verdadeiro? O mesmo pergunto se for falso. Compreendo que há as formas para identificar o que pode ser verdadeiro e falso... console.log('Os verdadeiros...') console.log(!!3) console.log(!!-1) console.log(!!' ') console.log(!![]) console.log(!!{}) console.log(!!Infinity) console.log(!!(isAtivo = true)) console.log('Os falsos...') console.log(!!0) console.log(!!'') console.log(!!null) console.log(!!NaN) console.log(!!undefined) console.log(!!(isAtivo = false)) Isso é muito confuso pra mim. Já fim alguns códigos de colegas, mas não entendi foi nada, fiquei mais perdido que cego em tiroteio.
  6. @Simon Viegas Porque isso foi mero exemplo de que funcionava atribuindo os valores, não significava que era, de fato, a resposta.
  7. Eu sei que poderia ser qualquer coisa, não estou me referindo ao nome da variável, mas à função dela diante da rotina. Aqui original apareceu este erro...
  8. @Simon Viegas Havia testado várias vezes aqui e não apareceu essa mensagem em nenhum momento. Sim, mas o que ele fez foi pedir para que o usuário informasse até quantas vezes a rotina seria executada e não pedia para o usuário informar mais nenhum valor, mesmo sabendo que que os valores em cada posição seja 0. Mas o i está sendo utilizado como identificador da posição do vetor, 0, 1, 2, ... Sim, é funcional se utilizar o comando aleatório ou mesmo o randi(), mas no código ele mostrou seco, sem estas, apenas realizou a leitura do mesmo.
  9. Brother,seu problema é diferente da colega acima, não aparece nenhuma mensagem de "Invalid floating point operation" e deveria ter criado outro tópico para não confundir outras pessoas; Tu criou um vetor inteiro e está tentando ler as posições do vetor por meio do contador do ' i ', logo, durante a leitura de cada posição não há valores, não faz sentido você querer ler um vetor sem valores. Adicionei valores à 3 posições onde N será 3 e rodou liso sem a necessidade do leia(vet[i]) que antecedia a estrutura de condição. Algoritmo "media_pares" Var N, i, QuantidadePares, SomaPares : inteiro media : real vet : vetor[0..20] de inteiro Inicio escreva("Quantos elementos terá o vetor? ") leia(N) QuantidadePares <- 0 SomaPares <- 0 vet[0] <- 2 vet[1] <- 8 // valores adicionados à 3 posições do vetor vet[2] <- 3 para i de 0 ate N - 1 faca //aqui ficava o leia(vet[i]), não há necessidade disso se vet[i] % 2 = 0 entao SomaPares <- SomaPares + vet[i] QuantidadePares <- QuantidadePares + 1 fimse fimpara media <- SomaPares / QuantidadePares se QuantidadePares > 0 entao escreva("A MÉDIA DOS PARES É: ", media) senao escreva("NÃO HÁ NÚMEROS PARES") fimse Fimalgoritmo
  10. @Juniorjbk7 Normal. Quando estiver muito tempo martelando mentalmente em um problema, pára, respira um pouco fora do código, depois volte analise calmamente, linha por linha com o auxílio do botão Passo ou apenas apertar a tecla F8. Ótima semana e bons estudos. TMJ!
  11. @Juniorjbk7 Vamos lá! Dentro da estrutura escolha do sexo Masculino você não declarou o fimescolha, logo impossibilita a execução do programa. Em ate c = "s" substitua o "s" pelo "n", caso contrário entrará em loop das perguntas. Na estrutura do escolha da cor do cabelo masculino onde conta quantas pessoas que são maiores de 18 você esqueceu de adicionar o identificador ch para adicionar: ch <- ch + 1
  12. Mas de qualquer modo não indicará sempre que o numero 1 é o menor valor? Meio que já fica como o menor sem ter a necessidade de realizar novas comparações exceto se o usuário informar 0.1.
  13. Cara, eu investiria em uma Corsair CV Series CV550 80 Plus Bronze.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...