Ir ao conteúdo
  • Cadastre-se

GustavoHCS

Membro Pleno
  • Posts

    42
  • Cadastrado em

  • Última visita

Tudo que GustavoHCS postou

  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.
  14. Colega, no portugol não é permitido palavras com acento, logo, senão e então não existem como sintaxe da pseudolinguagem. Bem como o @Simon Viegas falou acima, o programa nem deveria rodar. Em todo caso, dê uma olhadinha no material da Apoio Informática responsável pela construção do Visualg clicando aqui.
  15. Vamos lá! 1º) Nome não pode ser do tipo inteiro, mas caractere; 2º) Não entendi porque pediu a nota da turma no início do código, menos ainda a variável ct3; 3º) No primeiro Se você não definiu o valor a ser comparado com a "nota1"; 4º) Quando é solicitado que você mostre os nomes dos alunos que foram aprovados nas matérias 1 e 4 não deve mostrar dentro do para, mas fora dele como resultado final. Nessa brincadeira você deverá utilizar concatenação de texto; 5º) Para mostrar a porcentagem não seria para apenas contar, mas calcular, de fato, por exemplo para uma turma de 45 alunos, logo, você pegaria o total de aprovados, dividira pela quantidade de alunos da turma. Supondo que apenas 10 alunos foram aprovados, ficaria algo como: 10 / 45 = 0,22 -> 22% da turma foi aprovado. Bom, é isso. Sei que sua dúvida é antiga, mas comecei meus estudos dia 15/12/2020, daí estou buscando ajudar a galera de acordo com o que aprendi. Uma dica, se estiver com dificuldades ainda sobre Algoritmos, acessa o material do Curso em Vídeo lá tem muito material gratuito e de boa qualidade, estou estudando por lá.
  16. Brother, não entendi o que você queria ao publicar isso.
  17. Brother, tendo em vista que, segundo você: Faça o curso de Algoritmos do Gustavo Guanabara pelo Curso em Vídeo. É gratuito. Estou aprendendo muita coisa por lá.
  18. Hey colega, segue abaixo o código atualizado e funcionando perfeitamente. Espero que entenda e supra seu problema a fim de entender o exercício proposto. algoritmo "semnome" // Função : // Autor : // Data : 25/12/2020 // Seção de Declarações var valor_par, valor_impar, qtd_valor_par, qtd_valor_impar, media_par, media_impar, diferenca: real valor, acima50, contador: inteiro inicio contador <- 1 //O contador é apenas deixar a solicitação do valor mais convidativo repita escreva( "Informe ", contador, "º valor inteiro: " ) leia( valor ) contador <- contador + 1 se ( valor = 0 ) entao escreva( "Programa encerrado!" ) senao se ( valor > 50 ) entao acima50 <- acima50 + 1 fimse se ( ( valor % 2 ) = 0 ) entao //Então o valor é par valor_par <- valor_par + valor //Realiza a soma qtd_valor_par <- qtd_valor_par + 1 //Conta quantos valores pares existem senao //Então o valor é ímpar valor_impar <- valor_impar + valor //Realiza a soma qtd_valor_impar <- qtd_valor_impar + 1 //Conta quantos valores ímpares existem fimse fimse ate ( valor = 0 ) media_par <- valor_par / qtd_valor_par media_impar <- valor_impar / qtd_valor_impar diferenca <- valor_par - valor_impar limpatela escreval( "---------------------------------------" ) escreval( "> NÚMEROS ACIMA DE 50: ", acima50 ) escreval( "---------------------------------------" ) escreval( "> NÚMEROS PARES" ) escreval( "SOMA: ", valor_par ) escreval( "QUANTIDADE: ", qtd_valor_par ) escreval( "MÉDIA: ", media_par ) escreval( "---------------------------------------" ) escreval( "> NÚMEROS ÍMPARES" ) escreval( "SOMA: ", valor_impar ) escreval( "QUANTIDADE: ", qtd_valor_impar ) escreval( "MÉDIA: ", media_impar ) escreval( "---------------------------------------" ) escreval( "> DIFERENÇA ENTRE PARES E ÍMPARES: ", diferenca ) escreval( "---------------------------------------" ) fimalgoritmo Resultado na imagem em anexo.
  19. A atividade é: Fiz o código, executei. algoritmo "semnome" // Função : // Autor : // Data : 26/12/2020 // Seção de Declarações var contador: inteiro valor, maiorV, menorV: real inicio enquanto ( contador < 2 ) faca contador <- contador + 1 escreva( "Informe o valor do ", contador, "º produto: " ) leia( valor ) se ( valor > maiorV ) entao maiorV <- valor fimse se ( valor < menorV ) entao menorV <- valor fimse fimenquanto escreval( "Maior: ", maiorV ) escreval( "Menor: ", menorV ) fimalgoritmo Obs.: Sei que há parênteses desnecessário, mas é uma questão de organização pessoal. Foi identificado o maior valor e, consequentemente, atribuído à variável correspondente. Porém para descobrir o menor valor, é feita a comparação, mas o valor não é atribuído. Sei que por se tratar de uma variável sem valor definido ele "entende" como zero, logo, não há valor menor que zero. Como proceder com relação à isso?
  20. @devair1010 Que da hora, troca os valores das variáveis por meio de uma auxiliar o que facilita posteriormente o processo. Como não pensei nisso? Agradecido, farei agora mesmo essas modificações.
  21. @devair1010 Ah sim, entendi. Agradecido pela ajuda. Quanto aos parênteses desnecessários é mais para organização minha mesmo. @devair1010 Utilizando conforme orientou, se eu informar zero como primeiro valor ele não executa mais nada, em contrapartida o programa trava apresentando a mensagem: e para sair, de fato, apenas utilizando o comando de Parar localizado no Menu ou por meio das teclas CTRL + F2. Porquê isso acontece?
  22. Vi o perrengue de um colega no fórum, aceitei o desafio, e me prontifiquei a resolver o problema (detalhe, sou iniciante em programação). A atividade pede: Consegui construir e deixá-lo funcional... algoritmo "semnome" // Função : // Autor : // Data : 25/12/2020 // Seção de Declarações var valor_par, valor_impar, qtd_valor_par, qtd_valor_impar, media_par, media_impar, diferenca: real valor, acima50: inteiro inicio repita escreva( "Informe um valor inteiro: " ) leia( valor ) se ( valor > 50 ) entao acima50 <- acima50 + 1 fimse se ( ( valor % 2 ) = 0 ) entao //Então o valor é par valor_par <- valor_par + valor //Realiza a soma qtd_valor_par <- qtd_valor_par + 1 //Conta quantos valores pares existem senao //Então o valor é ímpar valor_impar <- valor_impar + valor //Realiza a soma qtd_valor_impar <- qtd_valor_impar + 1 //Conta quantos valores ímpares existem fimse ate ( valor = 0 ) media_par <- valor_par / qtd_valor_par media_impar <- valor_impar / qtd_valor_impar diferenca <- valor_par - valor_impar limpatela escreval( "---------------------------------------" ) escreval( "> NÚMEROS ACIMA DE 50: ", acima50 ) escreval( "---------------------------------------" ) escreval( "> NÚMEROS PARES" ) escreval( "SOMA: ", valor_par ) escreval( "QUANTIDADE: ", qtd_valor_par ) escreval( "MÉDIA: ", media_par ) escreval( "---------------------------------------" ) escreval( "> NÚMEROS ÍMPARES" ) escreval( "SOMA: ", valor_impar ) escreval( "QUANTIDADE: ", qtd_valor_impar ) escreval( "MÉDIA: ", media_impar ) escreval( "---------------------------------------" ) escreval( "> DIFERENÇA ENTRE PARES E ÍMPARES: ", diferenca ) escreval( "---------------------------------------" ) fimalgoritmo O que me incomoda é que no momento em que executa a primeira vez a estrutura de repetição o bloco de código que verifica se é número par, ele conta o 'zero', que é utilizado para sair do loop, como item par, logo, em quantidade apresenta 2 valores ao invés de apenas 1. Há possibilidade de ajuda?
  23. Acredito que você não leu direito o que foi proposto. Não entendi quase nada do que mostrou, mas de forma bem simplificada, segue o que fiz. PS: Gostei do desafio (foi ao menos pra mim, mero iniciante) algoritmo "semnome" // Função : // Autor : // Data : 25/12/2020 // Seção de Declarações var valor_par, valor_impar, qtd_valor_par, qtd_valor_impar, media_par, media_impar, diferenca: real valor, acima50: inteiro inicio repita escreva( "Informe um valor inteiro: " ) leia( valor ) se ( valor > 50 ) entao acima50 <- acima50 + 1 fimse se ( ( valor % 2 ) = 0 ) entao //Então o valor é par valor_par <- valor_par + valor //Realiza a soma qtd_valor_par <- qtd_valor_par + 1 //Conta quantos valores pares existem senao //Então o valor é ímpar valor_impar <- valor_impar + valor //Realiza a soma qtd_valor_impar <- qtd_valor_impar + 1 //Conta quantos valores ímpares existem fimse ate ( valor = 0 ) media_par <- valor_par / qtd_valor_par media_impar <- valor_impar / qtd_valor_impar diferenca <- valor_par - valor_impar limpatela escreval( "---------------------------------------" ) escreval( "> NÚMEROS ACIMA DE 50: ", acima50 ) escreval( "---------------------------------------" ) escreval( "> NÚMEROS PARES" ) escreval( "SOMA: ", valor_par ) escreval( "QUANTIDADE: ", qtd_valor_par )//Não entendi porque ele está pegando o zero pra quantidade, mas em geral, funciona. =] escreval( "MÉDIA: ", media_par ) escreval( "---------------------------------------" ) escreval( "> NÚMEROS ÍMPARES" ) escreval( "SOMA: ", valor_impar ) escreval( "QUANTIDADE: ", qtd_valor_impar ) escreval( "MÉDIA: ", media_impar ) escreval( "---------------------------------------" ) escreval( "> DIFERENÇA ENTRE PARES E ÍMPARES: ", diferenca ) escreval( "---------------------------------------" ) fimalgoritmo

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

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!