Ir ao conteúdo

Simon Viegas

Membro VIP
  • Posts

    3.940
  • Cadastrado em

Tudo que Simon Viegas postou

  1. Sobre: Aqui eu tinha entendido que era um subtração... se estava falando de uma multiplicação, acho que estaria certo mesmo... entendo que seria algo assim: x*10^(-19) * y*10^18 = (x*y)*10^(-19+18) = xy*10^(-1) Sobre: Justamente, apenas deixei entre "()" o valor que seria equivalente nessa notação. Nesse caso não... 20E7 * 1.2E7 daria 24E14 que é igual a 2.4E15. Se fosse uma subtração... 20E7 - 1.2E7 daria 18.8E7 que é igual a 1.88E8. Então, para analisar melhor o que está acontecendo com o código, só testando aqui para ver. Tem como você postar o texto do código? (Em vez apenas da imagem.)
  2. @mateusramo, por favor, poste o texto do código.
  3. @mateusramo, por favor, poste o texto do código (em vez da imagem apenas). Sobre: De onde tirou essa conta? (XE-19 - YE-18 = ZE-1) Tá meio suspeito isso... Para facilitar a visualização, vamos utilizar bases iguais e expoentes positivos num exemplo: image que você tem R$20.000.000,00 (2E7) na conta, aí saca R$12.000.000,00 (1.2E7) para comprar uma apartamento, você iria ficar com R$8 (8E0)? Sugiro dar uma revisada sobre "subtração de potências". As vezes confunde mesmo... No aguardo.
  4. @Carlos da Silva Pereira, creio que esse cálculo não esteja correto. O enunciado pede: Ele quer o tempo necessário para ficar inferir a X, não a quantidade de meias-vidas que poderiam se iniciar antes de ter x. São contas distintas e uma coisa não bate com a outra. Só para exemplificar, se eu inserir 0.5g, então precisaria de 50 segundos para ficar inferior a 0.5g? Faz sentido?. Sugiro inicialmente fazer da forma que está fazendo mesmo. Corrija a exibição e o cálculo do tempo como sugerido pelo @Math.Pi. No testes, use valores conhecido e vai vendo se a conta vai batendo... vai refinando até ficar bom. Só após, reanalisar e, se for o caso, pensar em outra estratégia. A depender poderia discutir aqui no fórum também (mas isso é para depois. Foque na forma que já está fazendo)
  5. @Heitor177, segue um esboço para referência: algoritmo "notas" var l,c,opcao :inteiro notas: vetor [1..3,1..5] de real qualquerCoisaSoParaEsperarUmEnter: caractere inicio enquanto (opcao <> 6) faca 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) enquanto (opcao < 1) ou (opcao > 6) faca escreval("opcao invalida!!!") leia (opcao) fimenquanto escolha opcao caso 1 escreval ("o resultado final de cada aluno foi", notas[1, 1]) caso 2 escreval ("Aqui tudo do menu 2") caso 3 escreval ("Aqui tudo do menu 3") fimEscolha leia(qualquerCoisaSoParaEsperarUmEnter) fimEnquanto fimAlgoritmo Qualquer dúvida é só postar.
  6. Olá. Vide definição do problema: Cerne da dúvida: Então, não consegue como? Qual a dúvida? Vamos lá: Primeiramente é preciso saber o que é um "número positivo". Quando que um número é positivo?... Será positivo quando ele for "maior que 0", certo? Só verificar isso e fazer as contas. Segue um exemplo mais completo para referência: algoritmo "Média dos números positivo" var qtdNumeros: inteiro numero: real qtdPositivo: inteiro somaPositivo: real mediaPositivo: real cont: inteiro inicio somaPositivo <- 0 mediaPositivo <- 0 escreval("Quantos números voce quer somar?") leia(qtdNumeros) cont <- 0 enquanto (cont < qtdNumeros) faca cont <- cont + 1 escreva ("Digite o ", cont:2, "º valor: ") ALEATORIO -20, 30 leia(numero) ALEATORIO OFF se (numero >= 0) entao qtdPositivo <- qtdPositivo + 1 somaPositivo <- somaPositivo + numero fimSe fimEnquanto se (qtdPositivo > 0) entao //evitar divisão por zero mediaPositivo <- somaPositivo / qtdPositivo fimSe escreval("") escreval("Quantidade de positivos: ", qtdPositivo:1) escreval("Soma dos positivos: ", somaPositivo:1:3) escreval("Media Aritmetica Simples dos positivos: ", mediaPositivo:1:3) fimAlgoritmo Perceba que a base é do teu código, apenas já sugerindo nomenclaturas de variáveis mais semânticas. Qualquer dúvida é só reanalisar o código e tentar descobrir na internet (exercitar vestir a roupa de sapo)... Se persistir com dúvidas ou sugestão é só postar também.
  7. Olá. Só complementando: Sobre: Creio que a maioria das linguagens de programação o uso de "()" NÃO é obrigatório... entretanto, pode haver diferenças de sintaxes entre uma "linguagem de programação" e outra. Por exemplo: no Portugol Studio, que usa um "Portugol", não precisa usar "()" e iria funcionar corretamente. Já no Pascal, que é o "pai" do VisualG", também não é obrigatório usar o "()", mas a lógica não iria funcionar porque a comparação seria feita de outra forma e daria erro de incompatibilidade de variáveis, ou seja: o uso de "()" no Pascal seria para ajustar a lógica, não porque é "obrigatório". Já no VisualG, independentemente da lógica é obrigatório o uso de "()", isso ocorre, creio eu, por uma limitação da linguagem (o desenvolvedor não implementou ainda para funcionar). No C# também sei que não é obrigatório o "()" para separar as sentenças, mas não sei como se comporta... pode ser de uma outra outra forma (teria que ver a documentação ou fazer testar). RESUMINDO: Na dúvida, use o "()" como citado pelo @devair1010. Outra forma seria assim: se ((imc < 16) ou (imc > 40)) entao //esses "()" mais externos NÃO são obrigatórios no VisualG, mas //em outras "linguagens" costumam ser... como no caso do Portugol Studio Vamos ao enunciado... lá tem algo como: Ou seja: ele quer a expressão que faça as duas coisas: calcular e imprimir, e quer apenas os casos extremos da tabela (primeiro e último caso)... Se observar, todos calculam, daí precisa "apenas" ver a que calcula corretamente... existem 3 (três) formas de calcular no exercício e delas duas dão o mesmo resultado, portanto servem para calcular o IMC... Esta serve: e esta serve: Já esta NÃO serve: ADENDO 1: o VisualG meio que segue a regra do "PEMDAS". Daí, cada uma dessas 3 fórmulas efetuará um cálculo diferente, entretanto a primeira e a segunda são equivalentes. Entretanto, essa segunda que serve, é a que fica mais "semântica", ou seja: fica uma representação mais próxima da fórmula geral do IMC. Pronto, sobraram apenas as opções B e E, daí, para dar o resultado desejado ("apenas casos extremos"), o valor precisa ser OU menor que 16 OU maior que 40, logo seria a letra B. ADENDO 2: ainda complementando, não poderia ser a E, pois para a condição ser verdadeira, uma mesma variável teria que ter 2 valores ao mesmo tempo, o que torna a verificação uma contradição (nunca será verdadeiro, já que "nunca" terá 2 valores, logo "nunca" sendo maior e menor ao mesmo tempo). Apenas para demonstração... Vejam o ocorre no VisualG 3.6.0.5 (considerável a versão mais estável): Testei no VisualG 2.5 também: Já no Portugol Studio funciona de boa: Falou
  8. Sobre: @qwerty78987, para que passou categoria por parâmetro? Para corrigir, só retirar (e chamar corretamente a função lá na programa principal). Ex.: funcao catFuncao (idade: inteiro): caracter Obs.: o código do @devair1010 também está com o mesmo "problema". Sobre: Então, no VisualG funciona as duas formas... tanto faz. Eu particularmente prefiro "<-". Vai do gosto. Apenas sugiro não utilizar as duas formas num mesmo código... escolhe um ou outro. Sobre: Só complementando: no caso, é que os casos precisam ser valores (não necessariamente fixos, pode utilizar variáveis ou constantes, por exemplo)... dos quais serão comparados com o valor que está na variável definida lá no escolha. Veja o exemplo inicial: Se fossemos traduzir, você estaria pedindo para o computador verificar se "o valor de idade é igual a (idade > 5 e idade <= 7). Daí, isso que está em parênteses é uma expressão lógica, ela resultaria em VERDADEIRO ou FALSE (true ou false).. logo, seria como pedir para verificar se idade estaria com desses valores. Já por desta forma (correta): As "," funcionam como um "ou", ou seja: traduziria como se tivesse verificando "caso idade = 5" ou "caso idade = 6" ou "caso idade = 7". Por fim, sobre: Sobre os tipos que funcionam, vi que além desses 2, também funciona com o tipo LOGICO. ADENDO Eu tenho quase certeza que dá para inserir uma faixa, mas não consegui lembrar e nem achar... . No Pascal eu sei que é possível... mas deixa pra lá. Essa forma que @devair1010 sugeriu é mais que suficiente.
  9. Vou tentar resumir: Ao rodar o código, dá o seguinte erro: A mensagem de erro é genérica, meio que servindo mais para indicar mais ou menos em que linha tem algum problema... Parando para analisar, o erro está no uso do operador relacional "=>". Você invertei a ordem dos caracteres. Vide: Fonte: https://www.apoioinformatica.inf.br/produtos/item/09-operadores
  10. Adendo: 1# Para ajudar nos testes, é possível colocar o VisualG para gerar valores automaticamente. Vide: 2# Você está verificando duas vezes a mesma coisa, dá para simplificar: Se (parcela = 1) entao maior <- valor menor <- valor FimSe 3# Não sei se você reparou, mas o VisualG insere um espaço antes de variáveis numéricas... para corrigir, poderia utilizar uma formatação, exemplo: EscrevaL("A parcela de MAIOR valor desta adicao e: ", maior:1) EscrevaL("A parcela de MENOR valor desta adicao e: ", menor:1) Esse :1 vai reservar 1 espaço a esquerda. Como todo número ocupa pelo menos um espaço, não vai reserva algo, ou seja: vai ficar colado ao texto anterior (que nesse caso já tem um espaço). 4# Como o program faz um determinada quantidade de laços, poderia troca de enquanto para para. (A não ser que seja um exercício de enquanto, é claro)
  11. Olá @LucasOne. Você está iniciando o "contador" com 1, mas logo após ler um valor já está mudando para 2... daí a verificação no se não passa. Basta colocar para atualizar depois, por exemplo, antes do FimEnquanto.
  12. Creio eu que todo triângulo equilátero é também isósceles... então de certo modo não estaria errado. O próprio enunciado diz isso: Ou seja: se 3 são iguais, necessariamente 2 também serão..... Observação: mas provavelmente quer uma definição padrão, no caso como você fez. Alguns outros pontos: faltou o comando fimAlgoritmo na última linha; apesar de não solicitado, sugiro incluir uma verificação de condição de existência de um triângulo. Nem todo conjunto de 3 número inteiros formam um triângulo; tente implementar utilizar se/senão, já que está considerando as condições como mutualmente excludentes, ou seja: se uma condição for verdadeira, não será necessário verificar as próximas. Para esses 2 últimos acima, poderia criar um novo programa separado, meio que um treinamento. No aguardo.
  13. @qwerty78987, como sugestão, em vez de "copiar" o meu código, vá tentando alterar o teu. Vá fazendo testes e vendo os problemas que vão ocorrendo... Dica: dar para ir pressionando F8 e ir acompanhando as variáveis no lado direito do VisualG.
  14. @qwerty78987, temos 2 probleminhas relacionados ao gerenciamento de escopo de variáveis: dupla declaração de variáveis "iguais"; não passagem de valores por parâmetros. Você declarou a variável opcao duas vezes. Uma com escopo global, e outra dentro da função, que tem escopo local... são variáveis distintas!!!. Daí, você leu o valor na variável de escopo global, mas a função está utilizando a variável de escopo local.... (Como as variáveis com o mesmo nome, o VisualG escolhe o que está "mais próximo", que é o local.) Obs.: outro problema é que está utilizando valores inteiro, mas deveriam ser reais. Já inseri uma sugestão de correção: SOLUÇÃO 1: Simplesmente apague as variáveis locais da função. algoritmo "Minha Calculadora" funcao calc(): real var res: real inicio escolha opcao caso "1" res <- n1 + n2 caso "2" res <- n1 / n2 caso "3" res <- n1 * n2 caso "4" res <- n1 - n2 outroCaso escreval("Opção inválida") fimEscolha retorne res fimFuncao var n1, n2: real opcao: caracter resultado: real inicio escreval("Digite um número") leia(n1) escreval("Digite outro número") leia(n2) escreval("Escolha uma opção: ") escreval("1 - somar") escreval("2 - dividir") escreval("3 - multiplicar") escreval("4 - subtrair") leia(opcao) resultado <- calc() escreval(resultado) fimAlgoritmo SOLUÇÃO 2: Passando os valores por parâmetros: algoritmo "Minha Calculadora" funcao calc(n1, n2: real; op:caractere): real var res: real inicio escolha op caso "1" res <- n1 + n2 caso "2" res <- n1 / n2 caso "3" res <- n1 * n2 caso "4" res <- n1 - n2 outroCaso escreval("Opção inválida") fimEscolha retorne res fimFuncao var n1, n2: real opcao: caracter resultado: real inicio escreval("Digite um número") leia(n1) escreval("Digite outro número") leia(n2) escreval("Escolha uma opção: ") escreval("1 - somar") escreval("2 - dividir") escreval("3 - multiplicar") escreval("4 - subtrair") leia(opcao) resultado <- calc(n1, n2, opcao) escreval(resultado) fimAlgoritmo ADENDO: Entenda que as variáveis ali nos parâmetros da função são diferentes das variáveis globais. É fácil entender que op não é igual a opcao, certo? Dá mesma forma as variáveis n1 e n2 são distintas das que estão no escopo global... apenas deixei com o mesmo nome. Daí, ao chamar a função e passar os valores pelos parâmetros, o VisualG vai copiar cada um dos valores que foi enviado e jogar nas variáveis correspondentes que estão na função... A diferença desse segundo código para o teu código postado, é que o valor da variável global está sendo repassado para as variáveis locais. No teu código, as variáveis locais estão "vazias", sacou? Essa é a maneira mais clássica de usar funções... resumidamente funciona assim: tudo que é usado numa função, "deve" ser criado dentro da função ou passado por parâmetro, ou seja: devem-se evitar uso de variáveis globais diretamente na função. RESUMINDO: O primeiro código que postei funciona e é mais simples. Não tem problema utilizar assim nesse momento. O segundo código é mais elegante e desejável. É a forma que dá mais segurança e flexibilidade para função.
  15. Qual programa está utilizando para editar os códigos? Portugol é uma pseudolinguagem e pode ser interpretável ou não por um programa de computador. Cada programa tem sua sintaxe própria... (Ou mesmo pode ser um Portugol específico do teu curso... para fazer no papel, por exemplo.) Se for um código de computador, segue uns exemplo de esboço inicial: Em Portugol para VisualG: algoritmo "Classificação de triângulos quanto aos lados" var a, b, c: real inicio escreval("Digite o lado a: ") leia(a) escreval("Digite o lado b: ") leia(b) fimAlgoritmo Em Portugol para Portugol Studio: programa { funcao inicio() { real a, b, c escreva("Digite o lado a: ") leia(a) escreva("Digite o lado b: ") leia(b) } } @Pedro Talles Vicznevski, existem 2 situações distintas: Entender o problema e saber resolvê-lo independentemente de uma linguagem de programação; Implementar um código em Portugol que automatize essa verificação. Por exemplo: tendo os valores de 3 lados de um triângulo, você sabe identificar qual tipo de triângulo ele corresponde? Veja: isso não tem algo a ver com programação, é apenas uma verificação lá da geometria!!! Utilizar Portugol será apenas um modo de "automatizar" a verificação, ou seja: para fazer o código, é preciso entender antes do que se trata o programa. Podemos ajudar tanto a entender o problema (que vem antes), tanto para ajudar a implementar um algoritmo em Portugol (que só pode ser feito depois de entender o problema). Qualquer dúvida é só postar.
  16. 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
  17. @PAULO JUNIOR vaz, poste o que já conseguiu fazer e onde está com dúvidas.
  18. @Elias Caldas, laços de repetição é uma coisa... matrizes são outras, funções são outra, estruturas de seleções são outras etc. Para a criação do seu (dele) algoritmo, o autor utilizou de o recurso para para gerenciar uma vetor. No contexto que foi utilizado, utilizou 2 para, aninhados (um dentro do outro), pois existem duas coordenadas na matriz. Daí, um "controlando" as linhas, e outro "controlando" as colunas. No caso, "para cada linha da matriz, percorrerá cada coluna". @Elias Caldas, sugiro ir do "simples" para o "complexo". Comece vendo exemplos de laços de repetição. Tenha uma base do seu funcionamento. Depois veja vetores, só depois veja matrizes. Matrizes nada mais são que "vetores de vetores". Seria como se cada posição do vetor, existisse outro vetor, daí, seria preciso primeiro entender vetores. Outro ponto interessante a estudar e entender, é a questão de "escopo". É bem simples... algo como: para (linha = 0; linha < 5; linha ++) { //inicio escopo da LINHA para (coluna = 0; coluna < 5; coluna ++) { //inicio escopo COLUNA escreva ("Digite o valor da linha ", linha," da coluna ", coluna, ": " ) leia (vetor[linha][coluna]) }//fim escopo da COLUNA } //fim escopo da LINHA Aqui percebe-se, inclusive, a questão da importância de manter sempre o código indentado. O que está "dentro de um escopo", fica deslocado um dente para direita" . Após já ter uma base, verás que, só de bater o olho, subentenderá que um para está dentro de outro para, sacou? Tente imaginar aí.. quando linha for igual a 0, terá um novo para onde a coluna começará com 0, logo, terá linha = e coluna = 0. Como está no escopo da para da coluna, vai repetir (porque os critérios vão orientar a isso) e coluna vai para 1... ficando, linha = 0 e coluna = 1. Depois, linha = 0 e coluna = 2 etc, até chegar no colunar = 5, onde não vai mais executar o para. Ao terminar o ciclo desse para mais interno, vai voltar para o escopo da linha... que vai mudar para 1.Ficando, linha = 1 e coluna = 5... vai iniciar um para, que vai ficar linha = 1 e coluna = 0, depois linha = 1 e coluna = 1, depois linha = 1 e coluna = 2 etc. No final, vai ficar linha = 5 e coluna = 5. (Mas o programa só vai usar até linha = 4 e coluna = 4, é claro). Qualquer coisa é só falar...
  19. @CriadorDeTravaZap, provavelmente algum caractere bugando no meio da linha.. apaga toda a linha e escreva novamente. Segue: algoritmo "semnome" var R, D, Con, S: REAL inicio D <- 1 S <- 0 enquanto (D <= 5) faca escreva("Qual o valor em R$? ") leia(R) D <- R/5,62 escrevaL("O Valor convertido e US$", D:5:2) Con <- Con + 1 S <- S + D fimEnquanto fimAlgoritmo
  20. @Anonimo questionador, outra dica bacana é fazer os algoritmos aos poucos... sempre deixando ele rodável.. exemplo: programa { funcao inicio() { real resp, temp, reso, reso1 escreva("Qual situação (exercício) você quer fazer? a(1) b(2) c(3) d(4)") leia(resp) } } Para manter o código identado é muito simples: basta deixar tudo que está dentro das {} um dente para frente. Para dar esse deslocamento, basta selecionar as linhas e dar um TAB (ou shift+TAB para recuar). Ao testar, já veria que o texto digitado ficou muito colado... Poderia fazer algo como: escreva("Qual situação (exercício) você quer fazer? a(1) b(2) c(3) d(4): ") leia(resp) Aí insere mais um pedaço do código... por exemplo apenas o primeiro se: programa { funcao inicio() { real resp, temp, reso, reso1 escreva("Qual situação (exercício) você quer fazer? a(1) b(2) c(3) d(4): ") leia(resp) se (resp == 1) escreva("Aqui iremos responder o quanto de água haverá na caixa.") escreva("Este valor será calculado de acordo com o valor que você nos passará.") escreva("por qaunto tempo(min) a torneira ficou ligada?") leia(temp) reso <= temp * 15 escreva("Após", temp, " minutos, haverá", reso, "L de água na caixa d'água.") } } } Ao inserir essa parte, já veria que tem algo errado.. Ou seja: você não quer uma "expressão lógica", mas sim uma "atribuição de valor"... o comando utilizado seria apenas o "=". Ficando: reso = temp * 15 Olhe novamente a imagem acima... só de bater o olho já deveria perceber que está faltando algo.. assim como abaixo do programa, e funcao tem uma "{", embaixo do se também deveria. Ficando: Beleza... executando isso teríamos: Opa! Está tudo na mesma linha... basta ir alterando e testando. Exemplo de resultado: Pronto... parece que tá bom.. aí vai prum próximo: programa { funcao inicio() { real resp, temp, reso, reso1 escreva("Qual situação (exercício) você quer fazer? a(1) b(2) c(3) d(4): ") leia(resp) se (resp == 1) { escreva("\nAqui iremos responder o quanto de água haverá na caixa.\n") escreva("\nEste valor será calculado de acordo com o valor que você nos passará.") escreva("\nPor quanto tempo (min) a torneira ficou ligada?: ") leia(temp) reso = temp * 15 escreva("\nApós ", temp, " minutos, haverá ", reso, "L de água na caixa d'água.\n") } senao se (resp ==2) { escreva("testando para ver se entrou na segunda opção") } } } Vai criando o segundo se... Mas veja: para essas próximas etapas, "eu já sei" que precisa quebrar as linhas para não ficar tudo colado.. que a atribuição de valores é com "=" e não "<=" etc etc. Cada vez mais vai conseguir fazer mais coisas de uma vez só... o que "não pode" é fazer muita coisa de uma vez só... sendo que existem erros no caminho. Tenha em mente que sempre que for inserir algo novo, antes o código atual tem que está certinho...
  21. @Anonimo questionador, alguns pontos: mantenha o código identando. É preciso respeitar o alinhamento dos blocos; por favor, edite tua primeira postagem e insira o código dentro da tag CODE. Basta clicar no botão <> que está na Barra de Ferramentas (onde tem o B, I, U, S etc); Sobre o erro apresentado agora, coloque as sentenças que estão sendo verificadas pelos se entre parênteses... "se (xxxx) {"
  22. Poste o que conseguiu fazer e onde está com dúvidas. Adendo: Está faltando coisa nesse enunciado, não? Mas provavelmente quer saber em quanto tempo a caixa-d'água vai encher... Tente fazer a conta no papel e poste aqui a resposta. Obs.: isso não tem nada a ver com "programação", é apenas um exercício de matemática. Após saber calcular, te ajudamos a passar para o VisualG ou Portugol (ou qualquer linguagem que seja). Qualquer dúvida é só postar.
  23. 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
  24. @a_ghost, poste o que já conseguiu fazer e onde está com dúvidas.
  25. Veja: Continuamos sem uma resposta... Então, a questão não seria explicar qual o comportamento que deseja, mas sim qual seria a relação disso com o enunciado. Temos: Percebe? Não tem qualquer relação com "pares de números". Para adiantar, vamos lá... seria algo como: se fosse inserido, por exemplo: 42, 83, 34, 7, 97, 64, 41 e 4, ele iria querer que exibisse o resultado de 83*7*97*41 ("produto dos números ímpares") e 42+34+64+4 (soma dos números pares). É isso, pelo menos acho que é. Se tiver dúvidas sobre o entendimento, pare para entender. Enquanto não entender o problema, não faz nem sentido tentar resolver. (Como vai resolver algo que não se saber o que é? ) Sobre: Nesse caso foi explícito... está faltando um fimSe para o terceiro se. Mas lembrando...: esse algoritmo não tem relação com o problema proposto. A dica é simples: sempre para entender o que está acontecendo. No caso, primeiro precisa entende qual é o problema (ele quer um produto e uma soma. Acho que já entendemos). Já no caso do teu código (mesmo não sendo para o contexto), o erro diz que está faltando um fimSe, logo poderia ser algo relacionado aos se... por aí vai. Claro que nem sempre é tão direto, mas o ponto central é isso mesmo: apenas pare para entender. Pronto. Corrija seu código atual, apenas como didática. Agora implemente um novo que "multiplique todos os ímpares" e "some todos os pares".....

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!