Ir ao conteúdo
  • Cadastre-se

Lucas Da Silva Aleixo

Membro Pleno
  • Posts

    51
  • Cadastrado em

  • Última visita

Tudo que Lucas Da Silva Aleixo postou

  1. Instalei o Kali Linux no Virtualbox, coloquei a placa em modo bridge e a internet conecta. Porém ela conecta como se estivesse nocabo,gostaria de conectá-la ao Wifi, porém quando vou lá em Wifi para conectar, a seguinte mensagem aparece: Nenhum adaptador Wi-fi encontrado Certifique-se de que você tenha um adaptador. Wi-fi conectado e ligado. O mais estranho é que aparece wifi conectado e ligado, sendo que não aparece nenhuma rede wifi. Como resolvo?
  2. Recentemente, quando cheguei a parte de estruturas condicionais compostas, aprendi que antes do else não havia ponto e vírgula (;). Estava construindo meus algoritmos sem problema algum, porém este programa que fiz só funciona se colocar ponto e vírgula (;) antes do else (exceto o end). Segue o código: program NovoSalario; uses CRT; var nome :string; salario_atual, novo_salario :real; begin textbackground(yellow); textcolor(white); clrscr(); writeln(' ',#201,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#187); writeln(' ',#186,' NOVO SALÁRIO ',#186); writeln(' ',#200,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#205,#188); writeln(); write(' - Nome: '); readln(nome); write(' - Salário Atual: '); readln(salario_atual); writeln(); if (salario_atual < 0) then begin writeln(' * Salário Inválido!') end else if (salario_atual <= 400) then begin novo_salario := ((salario_atual * 15) / 100 + salario_atual); writeln(' * Nome do Funcionário: ', nome); writeln(' * Salário Atual: ', salario_atual:0:2); writeln(' * Aumento de 15%'); writeln(' * Novo Salário: ', novo_salario:0:2); end else if (salario_atual > 400) and (salario_atual <= 700) then begin novo_salario := ((salario_atual * 12) / 100 + salario_atual); writeln(' * Nome do Funcionário: ', nome); writeln(' * Salário Atual: ', salario_atual:0:2); writeln(' * Aumento de 12%'); writeln(' * Novo Salário: ', novo_salario:0:2); end else if (salario_atual > 700) and (salario_atual <= 1000) then begin novo_salario := ((salario_atual * 10) / 100 + salario_atual); writeln(' * Nome do Funcionário: ', nome); writeln(' * Salário Atual: ', salario_atual:0:2); writeln(' * Aumento de 10%'); writeln(' * Novo Salário: ', novo_salario:0:2); end else if (salario_atual > 1000) and (salario_atual <= 1800) then begin novo_salario := ((salario_atual * 7) / 100 + salario_atual); writeln(' * Nome do Funcionário: ', nome); writeln(' * Salário Atual: ', salario_atual:0:2); writeln(' * Aumento de 7%'); writeln(' * Novo Salário: ', novo_salario:0:2); end else if (salario_atual > 1800) and (salario_atual <= 2500) then begin novo_salario := ((salario_atual * 4) / 100 + salario_atual); writeln(' * Nome do Funcionário: ', nome); writeln(' * Salário Atual: ', salario_atual:0:2); writeln(' * Aumento de 4%'); writeln(' * Novo Salário: ', novo_salario:0:2); end else if (salario_atual > 2500) then begin novo_salario := salario_atual; writeln(' * Nome do Funcionário: ', nome); writeln(' * Salário Atual: ', salario_atual:0:2); writeln(' * Sem Aumento'); writeln(' * Novo Salário: ', novo_salario:0:2); end; write(' '); readkey(); end. Somente com o ponto e vírgula funciona, saberiam me dizer o porquê? Estou usando o Pascal Zim!
  3. Preciso de um arquivo .bat que abra outro arquivo .bat em outra janela. Sei do comando start "localdoarquivo" só que o problema é que desta maneira o arquivo .bat que é chamado entra no lugar no arquivo .bat atual. Teria como chamar este arquivo .bat para que ele abra em outra janela?
  4. Comprei o jogo Minecraft for Windows 10, porém quando vou na loja para baixar aparece a seguinte mensagem: Este aplicativo não funcionará corretamente em seu dispositivo. - Já tentei limpar o cache da Windows Store. - Os drivers estão todos atualizados. - Meu Windows 10 está na última versão lançada. - Tenho o Java instalado na última versão. - Acabei de formatar o meu PC, não há praticamente nada instalado. Saberiam me informar como posso resolver este problema? Agradeço desde já.
  5. Faça assim: - A cada vez que alguém ganhar ou perder, você tem que colocar um comando para salvar o nome do jogador em um diretório: Exemplo: ::Para o ganhador echo %jogador% >> "Diretório\Ganhadores.txt" ::Para o perdedor echo %jogador% >> "Diretório\Perdedores.txt" ::Os dois devem ficar na mesma pasta Isto que está entre % é a variável com o nome do jogador. Ai na função histórico você coloca: cd "Diretório" echo Ganhadores type Ganhadores.txt echo Perdedores type Perdedores.txt Para colocar uma função em Batch faça assim: :Nome_Da_Funcao Para chamar uma função faça assim: goto Nome_Da_Funcao O que está depois dois pontos são comentários. Com esse código mostrará o histórico de todas as vitórias e derrotas. Desconheço como poderia colocar para aparecer somente as últimas 7 vitórias e derrotas. Sugiro que coloque seu código aqui para podermos analisa-lo melhor.
  6. Você precisa tirar os parênteses do TS. Os parênteses geralmente colocamos quando temos que realizar contas. Veja como ficou: algoritmo "semnome" // Função : // Autor : // Data : 03/08/2018 // Seção de Declarações var A, B, R, TS :real inicio escreval(" ==============") escreval(" = Exemplo_SE =") escreval(" ==============") escreval() escreval(" - Entre com 2 números quaisquer:") escreval() escreva(" * ") leia(A) escreva(" * ") leia(B) escreval() escreval(" - Somando:") R <- (A + B) se (R > 30) então TS <- (R + 5) senao TS <- (R - 5) fimse escreval() escreval(" * O resultado é:", TS) escreval(" * Fim do Processo") fimalgoritmo Testei aqui e deu certo.
  7. É eu sei que não é juros, coloquei como nome da variável para ficar mais fácil de visualizar. Já troquei o <= 0 e coloquei o juros := (juros / 100) no senão. algoritmo "Montante" // Função : Retornar o montante ao final de cada mês. // Autor : // Data : 24/07/2018 // Seção de Declarações var capital, juros, montante :real periodo, x :inteiro inicio escreval(" ============") escreval(" = MONTANTE =") escreval(" ============") escreval() escreva(" - Informe o capital: ") leia(capital) escreva(" - Informe a taxa de juros mensais: ") leia(juros) escreva(" - Informe o período: ") leia(periodo) escreval() se (periodo <= 0) então escreval("**********************************************************************************") escreval("* Período inválido. *") escreval("**********************************************************************************") senao juros := (juros / 100) para x de 1 ate periodo faca montante := (capital * (1 + juros) ^ x) escreval(" *", x, "° Mês:", montante) fimpara fimse fimalgoritmo
  8. Nem lembrava disso mais. Enfim já havia conseguido: algoritmo "Montante" // Função : Retornar o montante ao final de cada mês. // Autor : // Data : 24/07/2018 // Seção de Declarações var capital, juros, montante :real periodo, x :inteiro inicio escreval(" ============") escreval(" = MONTANTE =") escreval(" ============") escreval() escreva(" - Informe o capital: ") leia(capital) escreva(" - Informe a taxa de juros mensais: ") leia(juros) escreva(" - Informe o período: ") leia(periodo) escreval() juros := (juros / 100) se (periodo < 0) então escreval("**********************************************************************************") escreval("* Período inválido. *") escreval("**********************************************************************************") senao para x de 1 ate periodo faca montante := (capital * (1 + juros) ^ x) escreval(" *", x, "° Mês:", montante) fimpara fimse fimalgoritmo
  9. 1° Estou terminando Lógica de Programação e depois vou estudar sobre Banco de Dados. Gostaria de saber qual deles aprender (MySQL, SQL Server, etc.). 2° Sei que todos eles utilizam a linguagem SQL como padrão, mas existe um "SQL puro", que não use nenhum SGBD?
  10. Sempre quando se escreve a palavra Mensagem ela fica azul e sublinhada. Para que ela serve? Não achei sobre ela nem na documentação do VisualG nem em lugar nenhum.
  11. Observação inicial.: Talvez não tenha problemas deixar com 25, é mais para refletir... Tá! mas como você sabe que só tem 25 primos entre 1 e 100? seria necessário citar ou demonstrar como sabe disso no contexto... Ou seja, creio eu que não deve existe uma fórmula para saber quantos primos existem entre uma faixa de números... de certo modo, está dando a subentender que o programador já sabe quantos tem, que por sua vez sugere que já sabe quais quais são os primos... Ok, vou colocar o 100 ao invés do 25. É mesmo, nem tinha reparado. Já mudei aqui. Você está usando v1I e v1I para exibir o número original e usando v1 e v2 para calcular o MMC.. mas acho que deveria fazer o contrário... ou seja, o lido não se mexe, e usa a cópia para calcular. Assim como foi feito no MDC. De um modo geral, só precisaria de um par de variável... basta antes de calcular cada um, atualizar esse auxiliar. Ex.: v1_2 <- v1 v2_2 <- v2 Usei a variável v1I e v2I, porque o "I" representa "Inicial", ou seja valor inicial, acho que fica mais didático assim, porque na teoria o usuário está colocando aqueles valores para serem calculados e não para aparecerem no final. OK, retirei esta parte. Pois nem sempre que v1 ou v2 for diferente de 1, era será primo. Entende? é interessante se atentar ao escopo antes de criar afirmações. Não tenho certeza mas... Antes desta parte do ser diferente de 1, os números passam pelo processo de contas, eles serão divididos por todos os números primos de 1 ate 100, até não serem divisíveis por nenhum deles, o que só ocorre com os números primos. Já que as variáveis v1 e v2 são do tipo inteiro e o VisualG só aceita 8 dígitos para variáveis de número inteiro, acho que não existe nenhum número não primo de até 8 dígitos que não seja divisível por: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97 ou que não resulte em um número primo, pois cada vez que o número vai sendo dividido, menor ele fica, e as chances de ele ser divisível por algum desses números aumentam e ai é certo que ele resultará em um número primo. A parte do (v1 <> 1) e (v2 <> 1) é para confirmar se a conta não acabou. Modificações: 1° - Coloquei um comando enquanto v1, v2 <> 0, pois no enunciado pede um número não determinados de pares. 2° - Troquei o 25 pelo 100 novamente. 3° - Retirei a parte para verificar se o número é nulo, já que para quando o usuário digitar 0 é para sair, então a cada v1 lido, ele verifica se é igual a zero, o mesmo ocorre com o v2. 4° Consertei as frases (exceto a do número primo) 5° Tirei aquela parte do (v1 % v1 = 0) 6° Coloquei uma parte para verificar se os números são iguais, porque caso for o MMC e o MDC serão iguais aos valores. Se não tiver esta parte a conta sairá errada. algoritmo "Exercício 18" // Função : Calcular o MMC e o MDC de dois valores informados pelo usuário. // Autor : // Data : 30/07/2018 // Seção de Declarações var primos :vetor [1..100] de inteiro //Para guardar os números primos v1, v2, v1_2, v2_2, v1I, v2I, x, y, divisor, p, n, j :inteiro resultadoC, resultadoD :real inicio v1 <- 1 v2 <- 1 enquanto (v1 <> 0) ou (v2 <> 0) faca limpatela escreval(" =============") escreval(" = MMC E MDC =") escreval(" =============") escreval() escreval(" * Digite 0 para sair.") escreval() escreva(" - Informe o primeiro valor: ") leia(v1) se (v1 = 0) então v2 <- 0 interrompa senao escreva(" - Informe o segundo valor: ") leia(v2) se (v2 = 0) então v1 <- 0 interrompa senao //Verifica se algum número é negativo se (v1 < 0) ou (v2 < 0) então escreval() escreval(" * Número(s) negativo(s).") escreval() escreval(" - Pressione F9 para continuar...") pausa senao //Verifica se os números são iguais se (v1 = v2) então escreval() escreval(" * MMC[", v1, ",", v2, " ]:", v1) escreval(" * MDC[", v1, ",", v2, " ]:", v2) escreval() escreval(" - Pressione F9 para continuar...") pausa senao //As variáveis de resultados não podem ser iguais a zero porque irão ser multiplicadas. v1I <- v1 v2I <- v2 v1_2 <- v1 v2_2 <- v2 resultadoC <- 1 resultadoD <- 1 //Gera quantos divisores cada número de 1 até 100 possui. A quantidade é armazenada na variável "divisor". para x de 1 ate 100 faca divisor <- 0 //Zera os divisores para y de 1 ate 100 faca se (x % y = 0) então divisor <- (divisor + 1) fimse fimpara //Verifica quais números são primos. Caso o número possuir dois divisores, então ele é primo. Os números primos são armazenados no vetor "primos". se (divisor = 2) então p <- (p + 1) primos[p] <- x fimse fimpara //Cálculo do MMC //Enquanto os dois não resultarem em algum número primo, serão divididos e o resultado será multiplicado pelos números primos. para x de 1 ate 100 faca se (primos[x] <> 0) então enquanto (v1 % primos[x] = 0) e (v2 % primos[x] = 0) e (v1 <> 1) e (v2 <> 1) faca resultadoC <- (resultadoC * primos[x]) v1 <- (v1 \ primos[x]) v2 <- (v2 \ primos[x]) fimenquanto fimse fimpara //Caso resulte em um número primo se (v1 = v2) e (v1 <> 1) então resultadoC <- (resultadoC * v1) v1 <- (v1 \ v1) v2 <- (v2 \ v2) fimse se (v1 <> 1) então resultadoC <- (resultadoC * v1) v1 <- (v1 \ v1) fimse se (v2 <> 1) então resultadoC <- (resultadoC * v2) v2 <- (v2 \ v2) fimse //Cálculo do MDC //Enquanto os dois não resultarem em algum número primo, serão divididos e o resultado será multiplicado pelos números primos. para x de 1 ate 100 faca se (primos[x] <> 0) então enquanto (v1_2 % primos[x] = 0) e (v2_2 % primos[x] = 0) e (v1_2 <> 1) e (v2_2 <> 1) faca resultadoD <- (resultadoD * primos[x]) v1_2 <- (v1_2 \ primos[x]) v2_2 <- (v2_2 \ primos[x]) //Se somente 1 número for divisível, o resultado não muda e apenas os valores serão divididos. se (v1_2 % primos[x] = 0) ou (v2_2 % primos[x] = 0) e (v1_2 <> 1) e (v2_2 <> 1) então v1_2 <- (v1_2 \ primos[x]) v2_2 <- (v2_2 \ primos[x]) fimse fimenquanto fimse fimpara //Caso os números resultantes sejam primos se (v1_2 = v2_2) e (v1_2 <> 1) então resultadoD <- (resultadoD * v1_2) v1_2 <- (v1_2 \ v1_2) v2_2 <- (v2_2 \ v2_2) senao v1_2 <- (v1_2 \ v1_2) v2_2 <- (v2_2 \ v2_2) fimse //Exibe na tela os resultados finais escreval() escreval(" * MMC[", v1I, ",", v2I, " ]:", resultadoC) escreval(" * MDC[", v1I, ",", v2I, " ]:", resultadoD) escreval() escreval(" - Pressione F9 para continuar...") pausa fimse fimse fimse fimse fimenquanto fimalgoritmo Se tiver mais alguma observação pode falar.
  12. Haviam dois comandos enquanto desnecessários, e um para fora do lugar. Usei aquela dica sobre logo após verificar se o número é primo. O vetor para guardar os números primos deixei com apenas 25 posições, já que só existem 25 números primos entre 1 e 100. Agora deu certo, sem nenhum erro. algoritmo "MMC e MDC" // Função : Calcular o MMC e o MDC de dois valores informados pelo usuário. // Autor : // Data : 29/07/2018 // Seção de Declarações var primos :vetor [1..25] de inteiro //Para guardar os números primos v1, v2, v1_2, v2_2, v1I, v2I, x, y, divisor, p :inteiro resultadoC, resultadoD :real inicio escreval(" =============") escreval(" = MMC E MDC =") escreval(" =============") escreval() escreva(" - Informe o primeiro valor: ") leia(v1) escreva(" - Informe o segundo valor: ") leia(v2) //Verifica se o número é negativo se (v1 < 0) ou (v2 < 0) então escreval() escreval(" * Número(s) negativo(s).") senao //Verifica se o número é nulo se (v1 = 0) ou (v2 = 0) então escreval() escreval(" * Número(s) nulo(s).") senao //As variáveis de resultados não podem ser iguais a zero porque irão ser multiplicadas. v1I <- v1 v2I <- v2 v1_2 <- v1 v2_2 <- v2 resultadoC <- 1 resultadoD <- 1 //Gera quantos divisores cada número de 1 até 100 possui. A quantidade é armazenada na variável "divisor". para x de 1 ate 100 faca divisor <- 0 para y de 1 ate 100 faca se (x % y = 0) então divisor <- (divisor + 1) fimse fimpara //Verifica quais números são primos. Caso o número possuir dois divisores, então ele é primo. Os números primos são armazenados no vetor "primos". se (divisor = 2) então p <- (p + 1) primos[p] <- x fimse fimpara //Cálculo do MMC //Enquanto os dois não resultarem em algum número primo, serão divididos e o resultado será multiplicado pelos números primos armazenados. para x de 1 ate 25 faca enquanto (v1 % primos[x] = 0) e (v2 % primos[x] = 0) e (v1 <> 1) e (v2 <> 1) e (x <> 25) faca resultadoC <- (resultadoC * primos[x]) v1 <- (v1 \ primos[x]) v2 <- (v2 \ primos[x]) fimenquanto fimpara //Caso resulte em um número primo se (v1 = v2) e (v1 % v1 = 0) e (v1 <> 1) então resultadoC <- (resultadoC * v1) v1 <- (v1 \ v1) v2 <- (v2 \ v2) fimse se (v1 % v1 = 0) e (v1 <> 1) então resultadoC <- (resultadoC * v1) v1 <- (v1 \ v1) fimse se (v2 % v2 = 0) e (v2 <> 1) então resultadoC <- (resultadoC * v2) v2 <- (v2 \ v2) fimse //Cálculo do MDC //Enquanto os dois não resultarem em algum número primo, serão divididos e o resultado será multiplicado pelos números primos. para x de 1 ate 25 faca enquanto (v1_2 % primos[x] = 0) e (v2_2 % primos[x] = 0) e (v1_2 <> 1) e (v2_2 <> 1) faca resultadoD <- (resultadoD * primos[x]) v1_2 <- (v1_2 \ primos[x]) v2_2 <- (v2_2 \ primos[x]) //Se somente 1 número for divisível, o resultado não muda e apenas os valores serão divididos. se (v1_2 % primos[x] = 0) ou (v2_2 % primos[x] = 0) e (v1_2 <> 1) e (v2_2 <> 1) então v1_2 <- (v1_2 \ primos[x]) v2_2 <- (v2_2 \ primos[x]) fimse fimenquanto fimpara //Caso os números resultantes sejam primos se (v1_2 = v2_2) e (v1_2 % v1_2 = 0) e (v1_2 <> 1) então resultadoD <- (resultadoD * v1_2) v1_2 <- (v1_2 \ v1_2) v2_2 <- (v2_2 \ v2_2) senao v1_2 <- (v1_2 \ v1_2) v2_2 <- (v2_2 \ v2_2) fimse //Exibe na tela os resultados finais escreval() escreval(" * MMC[", v1I, ",", v2I, " ]:", resultadoC) escreval(" * MDC[", v1I, ",", v2I, " ]:", resultadoD) escreval() fimse fimse fimalgoritmo
  13. Modifiquei algumas coisas no código: - MMC e o MDC somente para números positivos. - Agora ao invés de usar o 2 e o 3 para fazer os cálculos, são gerados todos os números primos de 1 a 100, ou seja, faz as contas com todos os números primos gerados. Acho que é quase impossível não resultar em um número primo dessa maneira. . Novo Algoritmo: algoritmo "MMC e MDC" // Função : Calcular o MMC e o MDC de dois valores informados pelo usuário. // Autor : // Data : 29/07/2018 // Seção de Declarações var divisores :vetor [1..100] de inteiro //Para guardar os divisores primos :vetor [1..100] de inteiro //Para guardar os números primos v1, v2, v1_2, v2_2, v1I, v2I, x, y, divisor :inteiro resultadoC, resultadoD :real inicio escreval(" =============") escreval(" = MMC E MDC =") escreval(" =============") escreval() escreva(" - Informe o primeiro valor: ") leia(v1) escreva(" - Informe o segundo valor: ") leia(v2) //Verifica se o número é negativo se (v1 < 0) ou (v2 < 0) então escreval() escreval(" * Número(s) negativo(s).") senao //Verifica se o número é nulo se (v1 = 0) ou (v2 = 0) então escreval() escreval(" * Número(s) nulo(s).") senao //As variáveis de resultados não podem ser iguais a zero porque irão ser multiplicadas. v1I <- v1 v2I <- v2 v1_2 <- v1 v2_2 <- v2 resultadoC <- 1 resultadoD <- 1 //Gera quantos divisores cada número de 1 até 100 possui. A quantidade é armazenada no vetor "divisores". para x de 1 ate 100 faca divisor <- 0 para y de 1 ate 100 faca se (x % y = 0) então divisor <- (divisor + 1) divisores[x] <- divisor fimse fimpara fimpara //Verifica quais números são primos. Caso o número possuir dois divisores, então ele é primo. Os números primos são armazenados no vetor "primos". para x de 1 ate 100 faca se (divisores[x] = 2) então primos[x] <- x fimse fimpara //Cálculo do MMC //Verifica quais posições na memória do vetor "primos" possuem números primos. enquanto (v1 + v2 <> 2) faca para x de 1 ate 100 faca se (primos[x] <> 0) então //Enquanto os dois forem diferentes de 1, serão divididos e o resultado será multiplicado pelos números primos armazenados. enquanto (v1 % primos[x] = 0) e (v2 % primos[x] = 0) e (v1 <> 1) e (v2 <> 1) faca resultadoC <- (resultadoC * primos[x]) v1 <- (v1 \ primos[x]) v2 <- (v2 \ primos[x]) fimenquanto fimse fimpara //Caso resulte em um número primo se (v1 = v2) e (v1 % v1 = 0) e (v1 <> 1) então resultadoC <- (resultadoC * v1) v1 <- (v1 \ v1) v2 <- (v2 \ v2) senao se (v1 % v1 = 0) e (v1 <> 1) então resultadoC <- (resultadoC * v1) v1 <- (v1 \ v1) fimse se (v2 % v2 = 0) e (v2 <> 1) então resultadoC <- (resultadoC * v2) v2 <- (v2 \ v2) fimse fimse fimenquanto //Cálculo do MDC //Enquanto os dois forem diferentes de 1, serão divididos e o resultado será multiplicado pelos números primos. enquanto (v1_2 + v2_2 <> 1) faca para x de 1 ate 100 faca se (primos[x] <> 0) então enquanto (v1_2 % primos[x] = 0) e (v2_2 % primos[x] = 0) e (v1_2 <> 1) e (v2_2 <> 1) faca resultadoD <- (resultadoD * primos[x]) v1_2 <- (v1_2 \ primos[x]) v2_2 <- (v2_2 \ primos[x]) //Se somente 1 número for divisível, o resultado não muda e apenas os valores serão divididos. senao se (primos[x] <> 0) então se (v1_2 % primos[x] = 0) ou (v2_2 % primos[x] = 0) e (v1_2 <> 1) e (v2_2 <> 1) então v1_2 <- (v1_2 \ primos[x]) v2_2 <- (v2_2 \ primos[x]) fimse fimse //Caso os números resultantes sejam primos se (v1_2 = v2_2) e (v1_2 % v1_2 = 0) e (v1_2 <> 1) então resultadoD <- (resultadoD * v1_2) v1_2 <- (v1_2 \ v1_2) v2_2 <- (v2_2 \ v2_2) senao v1_2 <- (v1_2 \ v1_2) v2_2 <- (v2_2 \ v2_2) fimse fimse fimpara fimpara fimenquanto //Exibe na tela os resultados finais escreval() escreval(" * MMC[", v1I, ",", v2I, " ]:", resultadoC) escreval(" * MDC[", v1I, ",", v2I, " ]:", resultadoD) escreval() fimse fimse fimalgoritmo - Porém agora está ocorrendo um erro: . VisuAlg encontrou o seguinte problema em seu algoritmo, na linha 154: Era esperado encontrar FIMPARA Me certifiquei de todos os comandos PARA que coloquei tinham um FIMPARA. Saberia me dizer porque está ocorrendo este erro?
  14. Para que está fazendo isso? dá para explicar? É que caso o usuário insira um valor negativo, automaticamente é convertido para um valor positivo. Coloquei o 2 e o 3 pois são os 2 primeiros números primos, então o programa vai dividindo até chegar em 1, se não chegar resultará em um número primo, para estes casos coloquei essas linhas de comando. enquanto (v1_2 % v1_2 = 0) e (v2_2 = v1_2) faca resultadoD <- (resultadoD * 2) v1_2 <- (v1_2 \ v1_2) v2_2 <- (v2_2 \ v2_2) fimenquanto enquanto (v1_2 % v1_2 = 0) e (v2_2 = v1_2) faca resultadoD <- (resultadoD * 2) v1_2 <- (v1_2 \ v1_2) v2_2 <- (v2_2 \ v2_2) fimenquanto O senão não coloquei pois são muitas condições, não apenas uma. Se uma resultar em falso, a outra não necessariamente resultará em verdadeiro.
  15. Já consegui. Era um problema na fórmula. Eu estava tirando o MMC e o MDC de um número por vez, por isso o resultado dava em dobro. Só tive que fazer algumas alterações na fórmula. algoritmo "MMC e MDC" var v1, v2, v1_2, v2_2 :inteiro resultadoC, resultadoD :real inicio escreval(" =============") escreval(" = MMC E MDC =") escreval(" =============") escreval() escreva(" - Informe o 1° valor: ") leia(v1) escreva(" - Informe o 2° valor: ") leia(v2) se (v1 < 0) então v1 <- (-(v1)) fimse se (v2 < 0) então v2 <- (-(v2)) fimse v1_2 <- v1 v2_2 <- v2 resultadoC <- 1 resultadoD <- 1 se (v1 = 0) e (v2 = 0) então escreval() escreval(" * MMC: 0") escreval(" * MDC: 0") senao se (v1 = 0) e (v2 <> 0) então escreval() escreval(" * MMC: 0") escreval(" * MDC:", v2_2) senao se (v1 <> 0) e (v2 = 0) então escreval() escreval(" * MMC: 0") escreval(" * MDC:", v1_2) senao se (v1 = v2) então escreval() escreval(" * MMC:", v1) escreval(" * MDC:", v1_2) senao enquanto (v1 % 2 = 0) e (v2 % 2 = 0) faca resultadoC <- (resultadoC * 2) v1 <- (v1 \ 2) v2 <- (v2 \ 2) fimenquanto enquanto (v1 % 3 = 0) e (v2 % 3 = 0) faca resultadoC <- (resultadoC * 3) v1 <- (v1 \ 3) v2 <- (v2 \ 3) fimenquanto enquanto (v1 % v1 = 0) e (v1 <> 1) faca resultadoC <- (resultadoC * v1) v1 <- (v1 \ v1) fimenquanto enquanto (v2 % v2 = 0) e (v2 <> 1) faca resultadoC <- (resultadoC * v2) v2 <- (v2 \ v2) fimenquanto enquanto (v1_2 % 2 = 0) e (v2_2 % 2 = 0) faca resultadoD <- (resultadoD * 2) v1_2 <- (v1_2 \ 2) v2_2 <- (v2_2 \ 2) fimenquanto enquanto (v1_2 % 3 = 0) e (v2_2 % 3 = 0) faca resultadoD <- (resultadoD * 3) v1_2 <- (v1_2 \ 3) v2_2 <- (v2_2 \ 3) fimenquanto enquanto (v1_2 % v1_2 = 0) e (v2_2 = v1_2) faca resultadoD <- (resultadoD * 2) v1_2 <- (v1_2 \ v1_2) v2_2 <- (v2_2 \ v2_2) fimenquanto escreval() escreval(" * MMC:", resultadoC) escreval(" * MDC:", resultadoD) fimse fimse fimse fimse fimalgoritmo
  16. Seria possível colocar, por exemplo, dois comandos repita...ate no mesmo algoritmo? Se sim como?
  17. Código: algoritmo "semnome" // Função : // Autor : // Data : 25/07/2018 // Seção de Declarações var v1, v2, v1_2, v2_2, c, d, resultadoC, resultadoD, v1C, v2C, v1D, v2D :inteiro inicio escreva(" - Informe o primeiro valor: ") leia(v1) escreva(" - Informe o segundo valor : ") leia(v2) c <- 2 d <- 3 resultadoC <- 1 resultadoD <- 1 v1C <- v1 v2C <- v2 v1D <- v1 v2D <- v2 v1_2 <- v1 v2_2 <- v2 se (v1 = 0) ou (v2 = 0) então escreval() escreval(" * MMC [", v1C, ",", v2C," ]: = 0") escreval(" * MDC [", v1D, ",", v2D," ]: = 0") senao se (v1 < 0) ou (v2 < 0) então escreval() escreval(" * Este número é negativo.") senao enquanto (v1 + v2 <> 2) faca se (v1 mod c = 0) então resultadoC <- (resultadoC * c) v1 <- (v1 \ c) fimse se (v2 mod c = 0) então resultadoC <- (resultadoC * c) v2 <- (v2 \ c) fimse se (v1 mod d = 0) então resultadoC <- (resultadoC * d) v1 <- (v1 \ d) fimse se (v2 mod d = 0) então resultadoC <- (resultadoC * d) v2 <- (v2 \ d) fimse se (v1 mod v1 = 0) então resultadoC <- (resultadoC * v1) v1 <- (v1 \ v1) fimse se (v2 mod v2 = 0) então resultadoC <- (resultadoC * v2) v2 <- (v2 \ v2) fimse fimenquanto enquanto (v1_2 + v2_2 <> 2) faca se (v1_2 mod c = 0) e (v2_2 mod c = 0) então resultadoD <- (resultadoD * c) v1_2 <- (v1_2 \ c) v2_2 <- (v2_2 \ c) senao v1_2 <- (v1_2 \ c) v2_2 <- (v2_2 \ c) fimse se (v1_2 mod d = 0) e (v2_2 mod d = 0) então resultadoD <- (resultadoD * d) v1_2 <- (v1_2 \ d) v2_2 <- (v2_2 \ d) senao v1_2 <- (v1_2 \ d) v2_2 <- (v2_2 \ d) fimse se (v1_2 mod v1_2 = 0) e (v2_2 mod v1_2 = 0) ou (v2_2 mod v2_2 = 0) e (v1_2 mod v2_2 = 0) então resultadoD <- (resultadoD * v1_2) v1_2 <- (v1_2 \ v1_2) v2_2 <- (v2_2 \ v2_2) senao se (v1_2 mod v1_2 = 0) então v1_2 <- (v1_2 \ v1_2) fimse se (v2_2 mod v2_2 = 0) então v2_2 <- (v2_2 \ v2_2) fimse fimse fimenquanto escreval() escreval(" * MMC [", v1C, ",", v2C, " ]:", resultadoC) escreval(" * MDC [", v1D, ",", v2D, " ]:", resultadoD) fimse fimse fimalgoritmo O programa calcula o MMC e o MDC de dois números informados pelo usuário. Ele calcula e tudo, mas não exibe pois da o erro: Divisão por zero. Os valores das variáveis de resultado estão corretos, porém na parte de exibir na tela os resultados aparece:
  18. . Preciso de uma fórmula que gere os 4 primeiros números perfeitos de um número perfeito informado pelo usuário. . Um número perfeito é aquele que é igual à soma dos seus divisores. Ex: 6 = 1+2+3, 28 = 1+2+4+7+14. . Já consegui fazer um algoritmo para verificar se o número é perfeito. Veja: algoritmo "semnome" var n, x, soma :inteiro inicio escreva(" - Informe um número: ") leia(n) para x de 1 ate (n - 1) faca se (n % x = 0) então soma <- (soma + x) fimse fimpara se (soma = n) então escreval() escreval(" * Este número é perfeito.") senao escreval() escreval(" * Este número é imperfeito.") fimse fimalgoritmo . O problema é que preciso exibir os 4 primeiros números perfeitos caso o número informado for perfeito. Alguém saberia como fazer isso? Desde já agradeço.
  19. Qual seria a diferença entre o SQL e o SQL Server? O SQL seria a linguagem e o SQL Server a "IDE"?
  20. Gostaria de saber se é possível salvar a saída de um algoritmo em um arquivo (.txt)? EXEMPLO: - ALGORITMO algoritmo "semnome" var x :inteiro inicio escreva("Digite um valor: ") leia(x) escreval(x) fimalgoritmo - SAÍDA Digite um valor: 1 1 Teria como salvar a saída em um arquivo (.txt)?
  21. Preciso de um algoritmo que escreva o vetor em ordem crescente e caso possível impedir que sejam gerados vetores iguais. Segue o código: algoritmo "semnome" // Função : // Autor : // Data : 11/07/2018 // Seção de Declarações var n :vetor [1..6] de inteiro x :inteiro inicio para x de 1 ate 10 faca n[1] := randi(60) n[2] := randi(60) n[3] := randi(60) n[4] := randi(60) n[5] := randi(60) n[6] := randi(60) enquanto (n[1] = 0) ou (n[2] = 0) ou (n[3] = 0) ou (n[4] = 0) ou (n[5] = 0) ou (n[6] = 0) ou (n[1] = n[2]) ou (n[1] = n[3]) ou (n[1] = n[4]) ou (n[1] = n[5]) ou (n[1] = n[6]) ou (n[2] = n[1]) ou (n[2] = n[3]) ou (n[2] = n[4]) ou (n[2] = n[5]) ou (n[2] = n[6]) ou (n[3] = n[1]) ou (n[3] = n[2]) ou (n[3] = n[4]) ou (n[3] = n[5]) ou (n[3] = n[6]) ou (n[4] = n[1]) ou (n[4] = n[2]) ou (n[4] = n[3]) ou (n[4] = n[5]) ou (n[4] = n[6]) ou (n[5] = n[1]) ou (n[5] = n[2]) ou (n[5] = n[3]) ou (n[5] = n[4]) ou (n[5] = n[6]) ou (n[6] = n[1]) ou (n[6] = n[2]) ou (n[6] = n[3]) ou (n[6] = n[4]) ou (n[6] = n[5]) faca n[1] := randi(60) n[2] := randi(60) n[3] := randi(60) n[4] := randi(60) n[5] := randi(60) n[6] := randi(60) fimenquanto escreval(x, ".", n[1], " - ", n[2], " - ", n[3], " - ", n[4], " - ",n[5], " - ", n[6]) escreval("") fimpara fimalgoritmo O QUE JÁ CONSEGUI FAZER: - Impedir que o número gerado seja 0. - Impedir que os números no mesmo vetor se repitam. O QUE GOSTARIA DE FAZER: - Escrever o vetor gerado em ordem crescente. - Caso possível: Impedir que sejam gerados vetores iguais. Exemplificando: - Vetor Gerado: n[1] = 34 n[2] = 23 n[3] = 2 n[4] = 54 n[5] = 53 n[6] = 25 Saída: 1. 34 - 23 - 2 - 54 - 53 - 25 Como gostaria: 1. 2 - 23 - 25 - 34 - 53 - 54 E caso possível fazer com que os vetores gerados não se repitam. Se puderem ajudar agradeço.
  22. Funcionou, apenas fiz algumas alterações na fórmula: Exercício 5: salario_bruto <- (valor * horas) salario <- ((filhos * 0.03 * salario_bruto) + salario_bruto) Exercício 6: salario_total <- ((percentual * total_vendas * salario_fixo) + salario_fixo) Fiz a conta antes e deu o mesmo valor. Obrigado.
  23. A parte que eu não tenho certeza se está correto são as partes da fórmula: Veja: Exercício 5: salario_bruto <- (valor * horas) salario <- ((3 * filhos / 100) + salario_bruto) Exercício 6: salario <- ((percentual * total_vendas / 100) + salario_fixo) Queria saber se estas duas fórmulas estão corretas ou incorretas.

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!