Ir ao conteúdo

Simon Viegas

Membro VIP
  • Posts

    3.940
  • Cadastrado em

Tudo que Simon Viegas postou

  1. @Carlossw, o enunciado é praticamente um algoritmo, ou seja: um algoritmo para criar uma algoritmo específico... Qual a tua dificuldade no momento? Você diz: Para esse ponto, já ficou claro que não é possível criar uma matriz utilizando variáveis para definir o tamanho da matriz? Na nova postagem você já fala de outro problema: "Como armazenar na matriz" já é outro ponto... já entendeu o ponto anterior? Percebe que não vai ter como conseguir armazenar na matriz se nem sequer a matriz está sendo criada? É preciso abstrair e entender as etapas. Então, para iniciar, tente fazer algo mais simples, exemplo: Crie uma matriz 3 x 2 e preencha ela com números inteiros aleatórios. Após exiba a matriz na tela. Qualquer dúvida é só pesquisar na internet. Se persistir, poste o código completo atual e onde está com dúvidas.
  2. @Carlossw, Portugol Studio não aceita definição de matrizes (vetores) com variáveis. O próprio programa já informa: Uma opção seria declarar uma matriz grande o suficiente e utilizar apenas o tamanho informado.
  3. Sobre: data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== Só funciona no Delphi e Freepascal. [...] Pelo o que eu entendi ela (@Juju122) quer colocar a data na hora de registrar uma venda, até onde eu usei o PascalZim ele não tem nenhuma função para fazer isso. @KXSY, você estaria misturando "conseguir pegar a data e hora do sistema" com "inserir data e hora no registro". Uma coisa é uma coisa, outra coisa é outra coisa. Veja: Como já observado por vocês, o que se queria é o registro de algo, não a origem desse algo... Pegar ou não a hora do SO seria uma forma de automatizar e organizar o processo. Mas, como já citado, poderia simplesmente digitar manualmente... ou pensar em outras formas... @Juju122, uma boa forma para achar uma solução de um problema é saber qual é o problema. Para esclarecermos melhor o que se quer/precisa poste o enunciado completo. Como demonstração... por exemplo, se quer de alguma forma registrar a data e hora, seguindo o que já foi implementado, poderia ser algo assim: O cadastro de venda está assim: Estaria armazenando, respectivamente, os seguintes dados: Código da venda, Código do cliente, Código do Funcionário Responsável e Código do Produto. Bastaria inserir mais um campo para Data e Hora da Venda: var vendas : array[1..10, 1..5] of string; Pronto... aí leria a data pelo console em forma de string mesmo. Exemplo: writeln(' '); writeln('Informe o codigo da venda'); readln(vendas[i,1]); writeln('Informe o codigo do cliente'); readln(vendas[i,2]); writeln('Informe o codigo do funcionário responsável'); readln(vendas[i,3]); writeln('Informe o codigo do produto'); readln(vendas[i,4]); writeln('Informe a data e hora da venda'); writeln(' Formato: dd/mm/aaaa hh:mm'); readln(vendas[i,5]); writeln('Informe a quantidade desejada'); readln(total[i,2]); Depois teria que, de alguma forma, separar esses dados e fazer os tratamentos desejados... iria funcionar... mas já adianto que esse exemplo não seria uma boa estratégia... foi apenas para demonstrar mesmo.. Acho que seria melhor reformular a estrutura do código... no teu, você está utilizando registros para armazenar "opções", mas utilizar matriz para armazenar os cadastros... tá meio estranho.. Para reanalisar melhor seria bom ter o enunciado completo... ver quais são os requisitos impostos e quais as limitações... De um modo geral, um exemplo poderia ser algo assim: {$CODEPAGE UTF8} //uma forma de tentar conseguir imprimir palavras acentuadas em alguns compiladores (Não necessário no Pzim) program Pzim ; uses CRT; //Carregar o ReadKey(), ClrScr(), TextColor() etc (Não necessário no PZim) type t_Venda = record codVenda: string; codFuncionario: string; codProduto: string; dataVenda: string; end; var vendas: array[1..10] of t_Venda; totalVendas: byte; begin totalVendas := totalVendas+1; writeln(' CADASTRO DE VENDA '); writeln(''); write ('Código da Venda : '); readln(vendas[totalVendas].codVenda); write ('Código do Cliente : '); readln(vendas[totalVendas].codFuncionario); write ('Código do Fúncionário : '); readln(vendas[totalVendas].codFuncionario); write ('Código do Produto : '); readln(vendas[totalVendas].codProduto); write ('Data da venda : '); readln(vendas[totalVendas].dataVenda); writeln; writeln(' DADOS DA VENDA '); writeln('Código da Venda : ', vendas[totalVendas].codVenda:1); writeln('Código do Cliente : ', vendas[totalVendas].codFuncionario:1 ); writeln('Código do Fúncionário : ', vendas[totalVendas].codFuncionario:1); writeln('Código do Produto : ', vendas[totalVendas].codProduto:1); writeln('Data da venda : ', vendas[totalVendas].dataVenda:1); ReadKey(); end. Isso para cada tipo de registro... reformular toda a estrutura. Outra coisa.. em relação ao relatório, seria bom ter uma persistência de dados... ficaria complicado ter que ficar efetuando cadastros... RESUMINDO: De um modo geral, deixe essa questão do relatório para depois... primeiro precisa reformular para cadastrar corretamente os dados. Poste o enunciado completo. Daí, vemos o que realmente está sendo solicitado e a partir daí sim parar para ver como pode reformular o código.
  4. @KXSY, como assim "colocar datas"? Poderia dar exemplos do que você quer fazer?
  5. O quê que não está dando certo? Seria necessário informar. Aqui você está misturando "calcular a média de alguma coisa" com "contar a quantidade de outra coisa". São duas coisas distintas. O exercício pede duas coisas: Tente primeiro entender o problema... se tiver alguma dúvida é só falar, mas primeiro pare para entender do que se trata. Para adiantar, sugiro o seguinte: faça apenas a segunda parte, algo como: Fazer um algoritmo para ler uma quantidade N de alunos. Ler a nota de cada um dos N alunos e contar quantos alunos estão com a nota acima de 5.0. E poste o código aqui. Se tiver alguma dúvida é falar...
  6. Caro usuário, Seja bem-vindo ao Clube do Hardware. No intuito de servir como fonte de pesquisa no caso de instituições de ensino, informamos que incorrer no resolvimento por completo de questões relacionadas a disciplinas escolares de cursos técnicos e faculdades podem ser revistas e removidas pela Equipe de Moderação do Clube do Hardware. Para sanar dúvidas sobre esse tipo de problema, por gentileza, publique o passo a passo do desenvolvimento da questão, projeto, monografia ou conteúdo em dúvida para que possamos analisar se a resposta está correta ou não, ou para que possa ser auxiliado com a dúvida no desenvolvimento do exercício. Infelizmente, não há como resolver os trabalhos pelos usuários. O objetivo do Clube do Hardware é auxiliar seus usuários a encontrar soluções para que possam sanar suas dúvidas, e não de trazer soluções prontas para seus usuários. Além disso, copiar e colar respostas que não são de autoria própria do qualquer usuário é considerado plágio, o que é ilegal. Esperamos que compreenda. Atenciosamente, Equipe Clube do Hardware
  7. Qual o enunciado do problema? Foi você que fez esse código? Está com dúvidas em qual parte?
  8. Um exemplo de código: algoritmo "Maior diferença entre números números de índices consecutivos" funcao posicaoMaiorDiferenca(tamVetor: inteiro; var maiorDiferenca: inteiro): inteiro var diferenca, posicao: inteiro i: inteiro inicio maiorDiferenca <- 0 para i de 1 ate tamVetor-1 faca diferenca <- Abs(vet[i]-vet[i+1]) se (diferenca > maiorDiferenca) entao posicao <- i maiorDiferenca <- diferenca fimSe fimPara retorne posicao fimFuncao var n, i: inteiro vet: vetor[1..100] de inteiro p: inteiro md: inteiro inicio escreva ("Indique o comprimento do vetor: ") leia(n) ALEATORIO 1, 30 para i de 1 ate n faca escreva ("Indique o ", i:1, "º número: ") leia(vet[i]) fimPara ALEATORIO off p <- posicaoMaiorDiferenca(n, md) escreval("") escreva ("A maior diferença é ", md:1, ", entre a ", p:1, "ª e ", p+1:1, "ª posições") fimAlgoritmo
  9. beleza. Você fazer um procedimento ou função para qualquer coisa... Por exemplo, crie um procedimento para preencher o vetor. Depois, crie um procedimento para calcular e exibir a maior diferença entre dois elementos consecutivos e em que posição, desse vetor etc. Adendo: creio que o enunciado deve está se referindo a "elementos em posições consecutivas", pois "elementos consecutivo seriam outra coisa". Creio que números consecutivos seja algo como "1, 2, 3, 4, 5"... ou seja: a diferença seria sempre 1... "68 é consecutivo ao 67"... por aí vai.
  10. @r00ki3, antes, qual é o enunciado do problema?
  11. @Heitor177, uma coisa de cada vez. Cadê o menu? Por favor, poste o que conseguiu fazer e onde está com dúvidas. Sobre: Veja o que está sendo utilizado: Onde está a matrícula do aluno? Pelo que você postou está na "primeira coluna de cada linha". ok! Mas qual seria o valor de L nesse momento? Veja que o L está sendo utilizado para percorrer o vetor... ele possivelmente estará com 2 sempre (que seria o último valor utilizado no para)!!!, logo, vai sempre exibir notas[2,1], ou seja: a matrícula do último aluno. Se você quer exibir a matrícula da maior nota, uma opção é armazenar a tal da posição. Exemplo: se (opcao = 4) entao maiorV3 <- 0 para L <- 1 ate 2 faca se (notas[L,4] > maiorV3) entao maiorV3 <- notas[L,4] posMaiorV3 <- L fimSe fimPara escreval("O MAIOR VALOR DA V3 foi da matricula: ", notas[posMaiorV3,1]:1, " NOTA: ", maiorV3:1) fimSe
  12. Caro usuário, Seja bem-vindo ao Clube do Hardware. No intuito de servir como fonte de pesquisa no caso de instituições de ensino, informamos que incorrer no resolvimento por completo de questões relacionadas a disciplinas escolares de cursos técnicos e faculdades podem ser revistas e removidas pela Equipe de Moderação do Clube do Hardware. Para sanar dúvidas sobre esse tipo de problema, por gentileza, publique o passo a passo do desenvolvimento da questão, projeto, monografia ou conteúdo em dúvida para que possamos analisar se a resposta está correta ou não, ou para que possa ser auxiliado com a dúvida no desenvolvimento do exercício. Infelizmente, não há como resolver os trabalhos pelos usuários. O objetivo do Clube do Hardware é auxiliar seus usuários a encontrar soluções para que possam sanar suas dúvidas, e não de trazer soluções prontas para seus usuários. Além disso, copiar e colar respostas que não são de autoria própria do qualquer usuário é considerado plágio, o que é ilegal. Esperamos que compreenda. Atenciosamente, Equipe Clube do Hardware
  13. Existe 2 aspectos diferentes: não dar erro, mesmo sendo uma sintaxe (supostamente) incorreta; não fazer diferença para o teu algoritmo. Para o primeiro, é coisa do VisualG... não era nem para rodar... Se você colocar para imprimir a variável aparecerá apenas o "+" (dá para ver nas Áreas da Variáveis do VisualG também). Por algum motivo o VisualG buga e ignora a vírgula e restante da linha... O esperado era dar algum erro e travar a execução da interpretação do código. Já no segundo, como simplesmente está resultado com o primeiro valor (bug), ou seja: está ficando com "+", apenas terá um comportamento de ter esse valor mesmo.. como mais a frente é lido um novo valor para a variável, o programa vai funcionar normalmente, já que em nenhum momento o valor foi utilizado antes de ser substituído (não importa o que tinha na variável)... De um modo geral, como é uma variável que vai ser lida pelo usuário, ela não precisa ser inicializada. Adendo: o que você fez faz até sentido. Seria como uma definição de valores possíveis para variável, né? Isso existe em outras linguagens mais avançadas ou do tipo... inclusive no Pascal (pai do VisualG).
  14. 1# Sobre: Essa sintaxe não existe. Simplesmente apague essa linha. 2# Sobre: Essa sintaxe do senao está também incorreta. Não existe "senao/entao". De um modo geral, veja exemplos na internet. (Mas eu vou postar uma base mais pro fim.) 3# No mesmo código do 2# você está comparando um valor real com o caractere... tá achando que está programando em JavaScript, amigo? . Não pode fazer isso. Uma alternativa seria utilizar uma variável do tipo caractere, veria se estaria representando um número ou não de alguma forma, aí converteria para real se precisasse. De qualquer sorte, é melhor pensar em outra forma... 4# Segue um resumindo do código sem a raiz: algoritmo "Calculadora" var n1, n2: real met: caractere inicio escreval("Digite seu primeiro número ou operação") leia(n1) escreval() escreval("Agora digite seu segundo número") escreval() leia(n2) escreval() escreval("Agora escolha uma operação") escreval() leia(met) se met = "+" entao escreval(n1+n2) senao se met = "-" entao escreval(n1-n2) senao se met = "*" entao escreval(n1*n2) senao se met = "/" entao escreval(n1/n2) senao se met = "^" entao escreval(n1^n2) fimSe fimSe fimSe fimSe fimSe fimAlgoritmo Perceba que o senao fica dentro do se. Se a condição resultar em VERDADEIRO, executa o que está entre o entao e o senao e pula o senao. Caso seja FALSO, pula o trecho entre o entao e o senao e executa o senao. 5# Para tentar ajudar... segue um exemplo alternativo: algoritmo "Calculadora" var n1, n2: real met: caractere inicio escreval() escreval("Digite seu primeiro número") escreval() leia(n1) escreval() escreval("Agora escolha uma operação") escreval() leia(met) se met = "raiz" entao escreval(RaizQ(n1)) senao escreval() escreval("Agora digite seu segundo número") escreval() leia(n2) escreval() se met = "+" entao escreval(n1+n2) senao se met = "-" entao escreval(n1-n2) senao se met = "*" entao escreval(n1*n2) senao se met = "/" entao escreval(n1/n2) senao se met = "^" entao escreval(n1^n2) fimSe fimSe fimSe fimSe fimSe fimSe fimAlgoritmo Dica: pressione Ctrl+G para indentar o código. Se fica torto, é porque tem algo fora do lugar.
  15. @PEDRO MATOS JUNIOR, por favor, poste o enunciado completo da questão. 1# Sobre a leitura do dados. Não é necessário um laço de repetição para posicionar a matriz para cada nota. Especifique diretamente o valor. Vide um modelo: algoritmo "notas" var //["posição do aluno", "cada uma das suas notas"] notas: vetor [1..3, 1..5] de real posAluno, posNota: inteiro //posicao na matriz inicio para posAluno <- 1 ate 3 faca escreval("Aluno: ", posAluno:1) escreva ("Informe a matricula: ") leia(notas[posAluno, 1]) escreva ("Informe a VAI : ") leia (notas[posAluno, 2]) escreva ("informe a VAII : ") leia(notas[posAluno, 3]) escreva ("informe a VAIII : ") leia(notas[posAluno, 4]) escreva ("informe a OAT : ") leia(notas[posAluno, 5]) escreval("") fimPara [...] O que está variando a cada loop é apenas a posição do aluno. Segue também um modelo para exibir os dados: para posAluno <- 1 ate 3 faca escreval("") escreval("Aluno: ", posAluno:1) para posNota <- 1 ate 5 faca escreval(notas[posAluno, posNota]:5:2) fimpara fimpara 2# Criação do menu Para criar a base do menu você NÃO precisa ficar cadastrando dados a cada tentativa... teoricamente, antes de começar a fazer o programa, você já deveria ter uma base de como fazer um menu. Minha sugestão é simplesmente focar no menu. Salve a versão atual e crie um arquivo novo. Exemplo: algoritmo "Aprendendo a criar um menu" var opcao: caractere inicio escreval("") escreval(" MENU DE OPÇÕES ") escreval("") escreval("1 - o resultado final de cada aluno ") escreval("2 - qual aluno tirou 0 na oat ") escreval("3 - qual a media das notas finais dos alunos") escreval("4 - qual aluno tirou a maior nota da vaiii ") escreval("5 - alterar as notas de 1 aluno ") escreval("6 - encerrar o menu de opções ") leia (opcao) fimAlgoritmo Obviamente esse exemplo não está pronto, apenas deixei uma base inicial. Pesquise em como criar menus... veja exemplos... Faça uma menu que leia a opção e, para cada uma das alternativas, apenas mostre o texto "você selecionou a opção x". Exemplo: se seleciona 2, aparecer na tela "você selecionou a opção 2". O menu deve ficar em loop, ou seja: após exibir a resposta, volta para ler uma nova opção. No aguardo.
  16. Sobre: Cadê as variáveis m e n no teu código? Já algo suspeito aqui... Então, uma dica para resolver qualquer problema começa em justamente parar para entender o problema em si. Já sabe o que é para ser feito? Consegue fazer essa conta, por exemplo, no papel? Tem alguma dúvida? Outro ponto: pode mesmo fazer em Portugol Studio? Lá no site não tem ele na lista: Nem aqui: De qualquer forma, vamos lá: Está explícito que as coordenadas devem ser n e m (obs.: o natural seria m x n, mas tudo bem). Exemplo: programa { funcao inicio() { inteiro n, m inteiro matriz[100][100] leia(n) leia(m) } } Observação: pelo que vi, o Portugol Studio não tem matriz dinâmica e também não aceita definir a dimensão da matriz com variáveis (aceita apenas constantes). Daí, você precisa inicialmente saber preencher a matriz... tente entender como a matriz deve ser preenchida e depois apenas exiba a matriz na tela. No caso, você irá preencher uma matriz de dimensão m x n e exibir uma matriz com a mesma dimensão. (Não se preocupe com as outras posições... apenas existirá um pequenos desperdício de memória). Qualquer dúvida é só postar. ADENDO: Se alguém souber como declarar a matriz, por favor, informe.
  17. @Math.Pi, sobre: Nesse código ainda não tem arquivos. Ele está apenas utilizando um "vetor de registros" (array of record). O código inclusive está "funcionando": @Waterise, algumas dicas: 1# Não user read(), utilize apenas readln(). Não precisa, por enquanto, se preocupar com o motivo... apenas não deve-se usar read() (sem o ln). Apenas te adianto que esse ln tem tem algo a ver com o ln do writeln, como muitos pensam . 2# Use nomenclaturas de variáveis mais sugestíveis possível. Algo como: var produtos: array [1..5] of record codigo: integer; nome: string; status: char; genero: char; valor: real quantidade: integer; end; Perceba o "produtos" no plural... para justamente indicar que é um vetor. Poderia ser também: var vetProduto: array [1..5] of record codigo: integer; nome: string; status: char; genero: char; valor: real quantidade: integer; end; Ou vetProdutos... Por aí vai. Quanto "mais semântico" o nome das coisas, mais fácil entender para que ele serve... por exemplo, o que significa fil? 3# Não se preocupe com a implementação de arquivos por enquanto. É preferível trabalhar com vetores... Para usar arquivos, "bastará" ajudar de vetor (array) para arquivos (file of ou text). Sugiro focar no menu. Você precisa ir do básico para o mais avançado. Colocar arquivo só vai atrapalhar. Segue uma base... //Crie um registro com código, nome do produto, valor do produto, quantidade //do produto e status do produto (A-tivo/I-nativo) dos produtos de uma padaria. //Faça com que as informações sejam gravadas em um arquivo de dados. Permita as //seguintes operações: //* Inclusão de novos produtos, //* Alteração dos dados do produto (menos o código) //* Listar os dados dos produtos (relatório dos produtos existentes). // Monte um menu com a estrutura CASE para cada umas dessas instruções. {$CODEPAGE UTF8} //uma forma de tentar conseguir imprimir palavras acentuadas em alguns compiladores program Pzim; var vetProdutos: array [1..5] of record codigo: integer; nome: string; status: char; genero: char; valor: real; quantidade: integer; end; total: integer; //total de cadastros opcao: char; i:integer; begin writeln(' *** MENU DE OPÇÕES *** '); writeln(''); writeln(' Inclusão de novos produtos '); writeln(' Alteração dos dados do produto'); writeln(' Listar os dados dos produtos '); writeln(''); readln(opcao); end. Pode utilizar esse código como base... fique a vontade para alterar os texto e nomenclaturas... Daí, crie um MENU... se nunca fez, pesquisa aqui no Fórum e/ou na internet. Vai precisar deixar dentro de um laço de repetição, como while ou repeat. Faça apenas o item 1. Daí já faça também o 3, pois ele vai ajudar a ver se o 1 está funcionando... Qualquer dúvida é só postar.
  18. Sobre: Sim. Essa técnica é boa e também iria funcionar. Sobre: Para editar, basta clicar no link editar, que fica na parte inferior da postagem: Está acontecendo algum erro? Já para inserir imagens, eu costumo copiar a imagem (botão direito, "copiar imagem", se for da internet. Se no PC, a depender abro no mspaint, seleciono e copio a imagem), deixo posicionado onde vai aparecer aqui no texto e colo (ctrl+v)... automaticamente é feito o upload e a imagem já fica mais ou menos na posição.
  19. @JulianoVitoriano, as imagens não estão aparecendo aqui para mim... Sobre: Indiretamente seria isso mesmo... a variável menor (e maior) precisava ser de alguma forma inicializada... no código dele, ele já tentava fazer isso, mas ele preferiu utilizar o primeiro valor, em vez de usar um "valor alto". Vide: Daí, o problema do algoritmo é que a variável parcela já chegava nesse se a partir do valor 2... o que acabava não inicializando as variáveis. Sobre: Exatamente... podem existir diversas formas diferentes para resolver um mesmo problema.. cada uma pode ter suas próprias vantagens e desvantagens... Para teu exemplo, se o usuário só digitar número maior que 1000000, o algoritmo não iria funciona. Já do modo que está no código, para cada loop o programa "perde um tempo" verificando se é a primeira parcela... por aí vai.
  20. @tronaluz, por favor, poste o que já conseguiu fazer e onde está com dúvidas.
  21. @Lucas godoi234, qual o enunciado completo da questão? A forma que vai implementar o código depende do que foi pedido... Segue um exemplo baseado no teu código: var letra = "o" var frase = "Lucas godoi234" var contador = 0 for (var indice = 0; indice < frase.length; indice++) { if (frase[indice] == letra) { contador++ } } alert("Total de letras \"" + letra + "\" em \"" + frase + "\": " + contador) Tela:
  22. Sobre: Creio que não. A carga elementar é de acordo com partícula. Ele seria igual apenas em módulo. De certo modo sim, de certo modo não. Não é só o resultado que importa para o contexto, mas os mecanismos para chegar a ele. Sobre: Aqui acho que ambos entendem e sabem fazer a conta... apenas para ilustrar melhor: Depende: Se for na subtração, não tem: seria preciso igualar os expoentes para efetuar a conta; Se for na multiplicação, sim: "multiplicaria as bases e somaria os expoentes". (*Respeitando o sinal do expoente.) Sobre: Segue citação: Eu sei. Aqui estava apenas exemplificando que é possível utilizar a notação x*10^y diretamente no código, mas não funciona na leitura pelo console. No console, só com XEY, no texto do código funciona das duas formas. Sobre o cálculo: A fórmula: Q = n.e O "n" seria a quantidade de partículas em excesso. É um número natural (sempre positivo, já que é uma "quantidade"). O "e" será a Carga Elementar de acordo com a partícula (em excesso): aquele valor positivo para o próton, ele negativo para o elétron. Se a CE fosse único, NÃO precisaria ver qual partícula está em excesso, bastaria ver o saldo de elétrons, como citado anteriormente: O CE aí seria positivo.... Quando tiver mais elétron, o "n" será negativo e a conta iria dar certo da mesma forma. Vê aí. Por favor, poste seu código atual para analisarmos e também servir de base para futuros visitantes. No aguardo.
  23. Sobre: Então, estava me baseando no que está lá, não no que deveria ser em si ou na fórmula geral (que não conhecia). Apesar no ônus da prova ser meu (eu que comentei que são equivalentes), tente me demostrar que: (CE*(-1*(QP-QE))) não é equivalente a: (CE*(QE-QP)) Sobre: Dei uma pesquisada superficial... Creio que você esteja tentando calcular a Carga Elétrica pelas partículas em excesso. Que pelo que eu vi seria a forma mais próxima fórmula geral, ou seja: o valor de n seria sempre positivo. Se for assim, então o que deveria variar seria o sinal da carga elementar. Acho que seria algo como: Fórmula geral: Q = n.e No algoritmo ficaria: se (QE > QP) entao RQ <- (QE-QP) * (-CE) //para excesso de elétrons senao RQ <- (QP-QE) * CE //para excesso de prótons fimSe Então, como as expressões continuam equivalentes (creio eu), poderia ser algo como: RQ <- (QP-QE) * CE Observação: eu acho mais elegante utilizar a versão com o se . Quando mais próximo da representação do mundo externo melhor, mas acho que tanto faz. Adendo 1: é necessário especificar a unidade de medida na hora da resposta. No caso C (Coulomb). Adendo 2: apesar de não precisar no VisualG, inicialize a variável RQ, caso opte por usar o se. No aguardo.
  24. @mateusramo, parece ser algum problema na leitura do valor pelo console. Lá não aceita a notação x*10^y. Tente usar pela notação xEy. Exemplo: 2E18 e 4E18, respectivamente. Dica: imprima as variáveis na tela para ver os seus valores ou olhe pelas "Áreas de variáveis de memória do (Globais e Locais)" que fica no lado direito do VisualG. Adendo 1: se usar a notação x*10^y diretamente no código funciona... (coisas do VisualG). Exemplo: QE <- 2*10^18 Adendo 2: Sobre: As duas expressões são equivalentes, logo, não faz sentido ter um se. Adendo 3: Acho que você está invertendo a ordem dos elementos da subtração, pois quando tem mais elétrons, deveria dar negativo, não? No caso, bastaria fazer QP - QE (não precisa ver qual é o maior). No aguardo.
  25. O exemplo que dei foi justamente para deixar visível que a conta não iria bater e ... Eu também concordo que poderia ser feito da forma que está fazendo mesmo, apenas efetuado os ajustes que faltam. Entretanto ao mesmo tempo acho válido tentar entender um pouco mais sobre o contexto e, se for o caso, tentar calcular "com mais precisão".

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!