Lucas Da Silva Aleixo
Membro Pleno-
Posts
51 -
Cadastrado em
-
Última visita
Reputação
38-
Minecraft original dando erro ao entrar
Lucas Da Silva Aleixo respondeu ao tópico de Lucas Da Silva Aleixo em Jogo não roda ou dá erro
Mais ou menos, eu troquei o Windows 7 pelo Ubuntu e funcionou. -
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?
-
Pascal Erro: Estrutura Condicional Composta
Lucas Da Silva Aleixo postou um tópico em Programação - outros
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! -
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á.
-
Outro Alguem que crie um arquivo pra mim
Lucas Da Silva Aleixo respondeu ao tópico de Paulo Soares 060100 em Programação - iniciantes
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. -
VisualG problema com sintaxe no visualg
Lucas Da Silva Aleixo respondeu ao tópico de sdadsd em Programação - iniciantes
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. -
VisualG Calculo de juros em Visualg
Lucas Da Silva Aleixo respondeu ao tópico de Lucas Da Silva Aleixo em Programação - iniciantes
É 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 -
VisualG Calculo de juros em Visualg
Lucas Da Silva Aleixo respondeu ao tópico de Lucas Da Silva Aleixo em Programação - iniciantes
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 -
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?
-
VisualG Para que serve o comando MENSAGEM do VisualG?
Lucas Da Silva Aleixo postou um tópico em Programação - iniciantes
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. -
VisualG Division by Zero - Por que está dando este erro?
Lucas Da Silva Aleixo respondeu ao tópico de Lucas Da Silva Aleixo em Programação - iniciantes
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. -
VisualG Division by Zero - Por que está dando este erro?
Lucas Da Silva Aleixo respondeu ao tópico de Lucas Da Silva Aleixo em Programação - iniciantes
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 -
VisualG Division by Zero - Por que está dando este erro?
Lucas Da Silva Aleixo respondeu ao tópico de Lucas Da Silva Aleixo em Programação - iniciantes
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? -
VisualG Division by Zero - Por que está dando este erro?
Lucas Da Silva Aleixo respondeu ao tópico de Lucas Da Silva Aleixo em Programação - iniciantes
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.
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