Ir ao conteúdo

Simon Viegas

Membro VIP
  • Posts

    3.940
  • Cadastrado em

Tudo que Simon Viegas postou

  1. Observação: fiz a união das duas postagens... essas duas últimas postagem foram do outro tópico.
  2. Olá @leandromichetti. Faltou o comando fimAlgoritmo e você colocou uma "/" depois do cust. Ficaria algo assim: algoritmo "exercicio11" var cust, perc, total: real inicio Escreval("<><><><><><><><> TABELA DE CUSTOS <><><><><><><><><><><>") Escreva("Qual o preço de custo do produto? R$:") Leia(cust) Escreva("Qual o valor do percentual aplicado? R$:") Leia(perc) Escreval("") {Total <- cust + (cust/*perc/100)} // a fórmula está errada... especialmente na combinação de comandos "/*" Total <- cust + (cust*(perc/100)) Escreval(" O valor de venda do produto é R$:",total) fimAlgoritmo //comando necessário para finalizar o algoritmo OBSERVAÇÃO: A ordem da execução das operações no Visualg é igual na matemática, ou seja, segue o PEMDAS. Nesse sentido, os parênteses poderiam até não ser utilizado, pois primeiro iria multiplicar, depois dividir, depois adicionar... e o resultado seria o mesmo (mas nem sempre dá certo. Considero como coincidência). Entretanto, seguindo um raciocínio lógico, inseri um parêntese para "formalizar" a ordem dos cálculos e garantir que a conta esteja certa... calcula primeiro a porcentagem, depois calcula o valor do acréscimo multiplicando o custo por essa porcentagem, para depois adicionar ao custo e obter o total. Qualquer dúvida é só postar. No aguardo.
  3. Olá @Quinckas. Bacana... Ficou muito bom! Só um adendo: as variáveis p e p1 são desnecessárias. Você está definindo textos, logo após usa... e só. De jeito que o código está, simplesmente use os textos diretamente!
  4. Olá @Helen Fernanda de Souza. Seus textos estão um pouco confusos para mim... tente melhorar um pouco a pontuação, ok? Vamos focar só na próxima tarefa: Então, essa parte é análoga ao que foi feito para excluir 10 do vetor inicial (de 60 posições)... até a quantidade é igual, só muda em qual vetor irá excluir, ou seja, basicamente irá copiar o que foi feito, só ajustando para o vetor correspondente. obs.: Se atentar às nomenclaturas do vetores... por exemplo: O vetor vetor_3 não existe! (seria vetor_30_1) No aguardo.
  5. Olá @Caique Santos Barbosa. Seja bem vindo ao Fórum do Clube do Hardware. Por favor, poste o que já conseguiu fazer e onde está com dúvidas. Obs.: recomendo utilizar a versão mais recente do VIsualg (3.0.6.5). No aguardo.
  6. Olá @Helen Fernanda de Souza. O que você define como "fixar 10 números"? seria o equivalente é "excluir" do vetor para sobrar 20? Se for isso, é justamente o que já sugeri... seu algoritmo pode ser feito assim: Esse código postado por @devair1010 já segue o que está sendo proposto como resposta e já faz esses itens: - Gera 60 números para o vetor_60; - Exclui 10 número do vetor_60; - Sorteia 30 números para o vetor_30_1 do vetor_60; - Sorteia 30 números para o vetor_30_2 do vetor_60; - Sorteia 30 números para o vetor_30_3 do vetor_60; Você tem alguma dúvida sobre o código postado na postagem anterior? se sim, quais dúvidas? Antes disso, não podemos dar continuidade... Se você já entende tudo do código, qual parte não está conseguindo dar continuidade? No aguardo.
  7. Olá @Quinckas, Observação inicial: para melhorar o fluxo das minhas orientações, parte das sugestões propostas já poderão ser dadas para seus respectivos exemplos. Daí, você analisa e tenta implementar como desejado. 1) SOBRE O CÓDIGO Vou dividir em subtópicos. 1.1) NOMENCLATURA DE VARIÁVEL É um pequeno detalhe, mas: Em vez de JOGADOR e JOGADOR2 sugiro JOGADOR1 e JOGADOR2. Entendo assim, pois ao utilizar o "1", já subentede que existe pelo menos um "2". 1.2) VALIDAÇÃO DE RESPOSTA Verifiquei que você optou por usar o escolha/caso para validar as reposta.. tanto para escolha do par ou ímpar, tanto para faixa de resposta entre 1 e 10 (inclusos). E ideia é válida, mas apenas sugiro que transporte o contexto do outrocaso para logo após a leitura dos suas respectivas respostas, ou seja, após ler a resposta, verifica se é válido ou não, e faz a releitura quando necessário. Algo assim.: //ESCOLHA DE PAR OU ÍMPAR--------------------------- escreval("Para escolher PAR digite [1]") escreval("Para escolher ÍMPAR digite [2]") leia(escolhaUsuario) enquanto (escolhaUsuario <> 1) E (escolhaUsuario <> 2) escreval("Opção inválida.") escreval("") escreval("Para escolher PAR digite [1]") escreval("Para escolher ÍMPAR digite [2]") leia(escolhaUsuario) limpaTela fimEnquanto ADENDO: Percebeu que mudei de repita para enquanto? fiz isso por que é necessário que seja verificado primeiro se o número é inválido ou não antes de informar que foi uma opção inválida, ou seja, lá no ESCOLHA, o "outrocaso" já significa que foi uma opção inválida, daí você pode ir direto para o repita. Esse enquanto acima é equivalente a: se (escolhaUsuario <> 1) E (escolhaUsuario <> 2) repita escreval ("Opção inválida.") escreval ("") escreval ("Para escolher PAR digite [1]") escreval ("Para escolher ÍMPAR digite [2]") leia (escolhaUsuario) limpaTela ate (escolhaUsuario = 1) ou (escolhaUsuario = 2) fimSe Entende? o enquanto seria a junção de um se com um repita.. se tiver dúvidas, dê uma pesquisa sobre as diferenças entre repita e enquanto. E qualquer coisa é só perguntar aqui no tópico. Daí, o mesmo processo pode ser feito na parte que verifica se o número digitado está entre 1 e 10 (inclusos). Tira lá do outrocaso e deixa logo após ler o dado. Observe que após fazer essa verificação logo após a leitura dos dados, o outrocaso do lá do escolha(escolhaUsuario) não será mais necessário, pois a opção será 1 ou 2. E todo o escolha(numUsuario) será desnecessário, pois o número já estará entre 1 e 10 (inclusos), logo não fazendo necessário "escolher" algo... 2) SOBRE AS SUAS DÚVIDAS À PARTE Vamos lá: Sim. Já respondi! Acabou a cota, rs. Brincadeira à parte.. vamos lá: A resposta é: depende! Resumidamente é necessário que mantenhamos para cada tópico um mesmo assunto/tema, mas não é necessariamente proibido tirar alguma dúvida que fuja um pouco... em fim, vai depender da pergunta e contexto... Fazemos assim, primeiramente responda o item 1 desta postagem... após, poste também a sua dúvida que você se refere... daí analisaremos e tomaremos uma posição sobre o contexto... (se for pertinente ao mesmo tópico, deixaremos - o que inclui responder quando possível, já que também somos colaboradores. Caso fuja muito do tema, e entendermos que seja necessário um novo tópico, avisaremos.) Uma forma que eu sugiro é separar por tópicos, assim como fiz nesta postagem. *** Por enquanto é isso. No aguardo.
  8. Já conseguiu fazer? Poste aqui o seu código atual para analisarmos, e caso necessário, onde está com dúvidas.
  9. Sugiro que baixe a versão mais recente... 3.0.6.5. Já conseguiu fazer? por favor, poste o seu código atual para revisarmos e servi de apoio para outros usuário, e caso necessário, onde está com dúvidas. No aguardo.
  10. Caro usuário, Seja bem-vindo ao Fórum do 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 Fórum 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
  11. Olá @Quinckas, seja bem vindo ao Fórum do Clube do Hardware. Vamos lá: 1) SOBRE A "PROTEÇÃO" No Visualg, ao digitar uma letra no lugar no onde deveriam-se digitar um número, o valor é lido como 0. (obs.: isso é incomum, na maioria das linguagens populares o programa trava! O famoso "dá pau") Daí temos pelo menos duas opções: 1.1) Uma forma seria você tirar o zero da conta (só aceitar de 1 a 10) e verificar se o resultado também é diferente de zero (se for 0, ou ele digitou 0 ou digitou uma letra). 1.2) Utilizar funções que manipulam caracteres. Então, o Visualg possui alguns comandos que conseguem manipular caracteres. Ex.: Para não atrapalhar o seu autodesenvolvimento, vou deixar que você mesmo crie as suas ideias... 2) FAIXA DE VALORES No seu código, você está tratando apenas os maiores que 10, mas precisaria também o menores que 0 (se for usar de 1 a 10, seria "menor que 1") "enquanto (numero menor que 1) ou (numero maior que 10) então" 3) FAIXA DE SORTEIO O comando Randi() sorteia de "0 a X-1", ou seja, estaria sorteando apenas de 0 a 9. Se quer de 0 a 10, utilize Randi(11). Se for de 1 a 10, utilize " Randi(10)+1 Pois sorteará de 0 a 9, com mais 1, fica de 1 a 10. Observação: O jogo de par ou ímpar é binário, ou seja, só existem duas possibilidades. Daí, ao utilizar de 0 a 10, você estará sorteando 11 possibilidades, o que "desequilibraria" o jogo, pois seriam 6 possibilidades para par, e 5 para ímpar. (apostar no par seria vantagem), logo sugiro que deixe de 1 a 10 para o computador. (ou 0 a 10... deixa a quantidade par!) *** MINHA SUGESTÃO Primeiro tente fazer um algoritmo que aceite apenas de 1 a 10, para assim já "proteger" contras letras (já que 0 já é válido). E poste o código aqui...o "final" ou onde está com dúvidas; Depois, tente vê se consegue desenvolver alguma ideia utilizando os manipuladores de caracteres ou alguma outra forma... E poste o código aqui... o "final" ou onde está com dúvidas. No aguardo.
  12. Caro usuário, Seja bem-vindo ao Fórum do 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 Fórum 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 adicionado 4 minutos depois Olá @felipefas. Poste o que já conseguiu fazer e onde está com dúvidas... Ex. de estrutura base... Algoritmo "semnome" // Disciplina : [Linguagem e Lógica de Programação] // Professor : Antonio Carlos Nicolodi // Descrição : Aqui você descreve o que o programa faz! (função) // Autor(a) : Nome do(a) aluno(a) // Data atual : 15/09/2017 Var a,b,c :real x1,x2 :real Inicio escreval("Programa que calcula as raizes de uma equação do 2o grau") escreval() escreval("Inseria os valores de a, b e c") escreva ("a = ") leia(a) Fimalgoritmo
  13. Olá @Danilo Henriq. Seja bem vindo ao Fórum do Clube do Hardware. Creio que funcionar assim: Até 350 é o mesmo que "menor que 350" (o 350 não entra na conta) Até 50 (incluso) é o mesmo que "menor ou igual a 50", ou seja, o 50 está incluso na conta. Para tabela 1, de "50 a 100 incluso" seria "maior que 50 e menor ou igual a 100". O 50 não entra, pois já está incluso na condição anterior, já o 120 entra. Mesma coisa lá no "Maior que". O valor não vai tá incluso, pois já está na condição anterior. No aguardo.
  14. Olá @leandromichetti. Tente fazer algo e poste o código aqui e onde está com dúvidas.
  15. Caro usuário, Seja bem-vindo ao Fórum do 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 Fórum 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
  16. Olá @Jose Marcos Antonio. Em que parte está com dificuldades?.. tente melhor expor onde está com dúvidas, para que os colaboradores possam de auxiliar com mais facilidade. No aguardo.
  17. Além de, como citado, servir para outros usuários, poderíamos revisar os códigos para possíveis sugestões ou correções. No aguardo.
  18. Olá @Gabriel Pancaldi. Em qual programa você usa para compilar/executar esses código, e no Visualg ou algum outro? Qual a versão do programa? No aguardo.
  19. Caro usuário, Seja bem-vindo ao Fórum do 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 Fórum 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
  20. @guilherme_rangel, como você imaginou fazer? Tente pensar no algoritmo antes da parte técnica, ou seja, usar "um for dentro do outro" seria a técnica para "traduzir" parte do seu algoritmo para o Java... Tipo, por exemplo, o que você pode precisar é "percorrer posição por posição, coluna por coluna, linha por linha"... daí, uma "for dentro dentro do for" poderia te ajudar... Então.. só para vê se eu entendi... para esse seu exemplo, a resposta seria os retângulos formados pelas coordenadas: (0,1)(2,4) - Com área 12u e (0,1)(3,3) - Com área 12u ? *u= unidade de medida... (neste caso de área) Eu acho que já estudei algo do tipo, mas não lembro... se é relacionado à "técnicas de buscas" ou algo assim... Tirando a parte "acadêmica" (que seria o caminho desejado, já que não precisamos reinventar a roda, mas apenas achar uma existente), eu imaginaria algo assim: Tentaria na "força bruta" Obs. inicial: uma única posição pode ser considerada um retângulo, ou só partir de 2 por lado? ex.; 0 (1x1) Daí vindo o 1x2, 2x1, 2x2, 2x3 etc ou 0 0 (2x2) 0 0 Daí vindo o 2x3, 3x2, 3x3, 3x4.. etc... Daí insiro 3 prerrogativas (como não sei as regras, estou supondo): [1] Os retângulos são formados a partir de 2x2. [2] Será ignorado posições repetidas, ou seja, caso seja possível formar mais de um retângulo do mesmo tamanho, o algoritmo só vai retornar 1. [3] Os retângulos tem a base perpendicular as linhas, ou seja, não pode formar retângulos inclinados. VAMOS LÁ: - A técnica se basearia em ir tentando formar retângulos menores para os maiores, verificando de posição por posição... ou seja, vai percorrendo as linhas e colunas e verificando se daria para formar retângulos... veja: Como estipulei que o menor retângulo é de 2x2, tento achar um retângulo desse tamanho... Agora vamos tentar achar um triângulo 2x2 Começo na primeira posição (0,0) Posição (0,0) = 0? sim, verifica a coluna ao lado. Posição (0,1) = 0? sim. OK. Temos um por enquanto um candidato a retângulo. Na linha de baixo: Posição (1,0) = 0? não, logo, da posição (0,0) não posso criar retângulos! Vou para próxima posição (0,1) Posição (0,1) = 0? sim, verifica a coluna ao lado. Posição (0,2) = 0? sim. OK. Temos um por enquanto um candidato a retângulo. Na linha de baixo: Posição (1,1) = 0? sim, verifica a coluna ao lado. Posição (1,2) = 0? sim, OK. Já temos um retângulo 2x2. Daí não preciso mais procurar! Agora vamos tentar achar um triângulo 2x3 Começo na primeira posição (0,0) Posição (0,0) = 0? sim, verifica a coluna ao lado. Posição (0,1) = 0? sim. OK. Temos um por enquanto um candidato a retângulo. Posição (0,2) = 0? sim. OK. Continuamos tendo um por enquanto um candidato a retângulo. Na linha de baixo: Posição (1,0) = 0? não, logo, da posição (0,0) não posso criar retângulos 2x3 Vou para próxima posição (0,1) Posição (0,1) = 0? sim, verifica a coluna ao lado. Posição (0,2) = 0? sim. OK. Temos um por enquanto um candidato a retângulo. Na linha de baixo: Posição (1,1) = 0? sim, verifica a coluna ao lado. Posição (1,2) = 0? sim. OK. Temos um por enquanto um candidato a retângulo. Posição (1,3) = 0? sim. OK. Já temos um retângulo 2x3. Agora iria par 2x4... por ai vai... A mesma lógica, de força bruta, poderia ser aplicado levando em consideração uma "arresta máxima por posição". Algo como... Na posição (0,0), fazendo as analises necessárias, eu conseguiria forma um retângulo linhas de até 5u, ou seja, de (0,0) té o (0,4), correto? Ao ir na próximo linha, veria que a posição (1,0) tem mina, logo a posição (0,0) já seria descartada, pois não daria para formar nenhum retângulo nela. Na posição (0,1), veria que poderia ter linhas de até 4u...indo até a coluna 4. Ao ir na próxima linha, veria que iria também até o coluna 4 (poderia ter 2, poderia ter 3 e poderia ter 4), logo já formando um retângulo 2x4...[da inicial (0,1) a (1,4)]. Resumindo: A forma que pensei seria ir tentando "construir" retângulos a partir de cada origem. Mas veja que esse método não está considerando as possibilidades repetidas... seria literalmente uma força bruta. (mas pelo menos já não continuaria quando um menor já não ser possível) No aguardo
  21. Olá @Gabriel Pancaldi. Seu código está bom, mas ainda não está pronto, ou seja, não está 'funcionando certinho' ainda. Tem alguns pontos que precisam ser verificados e corrigidos. São 2 pontos principais: 1) VERIFICAÇÃO DAS POSSIBILIDADES Para saber se de fato o código está funcionando ou não, você precisa meio que garantir que todas as possibilidades estejam sendo atendidas corretamente... uma boa forma é fazer testes de mesa. Existem várias formas, abaixo um exemplo: - Pegue todas as possibilidades (no sentido de categorias), e anote no papel (ou bloco de notas, ou Excel) as respectivas respostas. Após, execute o programa e verifique se os resultados estão batendo com o esperado, ex.: Só preencher também os que faltam, e testar... lembrando que todas as possibilidades devem ser verificadas... obs.: claro que com nem sempre será necessário efetuar esses tipos de "testes exaustivos", pois com a prática acaba refinando os testes ou mesmo, a depender do contexto, fazendo de cabeça. 2) TIPOS DE "DESVIO CONDICIONAL" (ou "ESTRUTURA DE SELEÇÃO") Observação inicial: O mais importante por enquanto é o item 1. Primeiro tente ajustar ele, pois, como verás ao fazer os testes, que algumas das saídas não estarão correspondendo ao desejado. Logo, precisará analisar e corrigir ou implementar outra lógica. Então, como citado, esses se do seu código possuem: Ou seja, se for uma opção (tiver algum desvio), não poderá ser mais uma outra, logo não fazendo necessário continuar verificando os posteriores.. O "senão" meio que servirá para isso. Nesses caso, é necessário (no sentido da lógica) utilizar a estrutura do se/então/senão, em vez de utilizar vários se/então isolados entre si. Tente corrigir o item 1 primeiro, se desejar, explicamos como mudar de "se/então" para "se/então/senão". É relativamente simples. *** No aguardo.
  22. Faz uma cópia do código atual... a mudança não é difícil... aproveita para revisar o assunto... dá uma pesquisada na sintaxe do se/então/senão, vê exemplos e adapta o seu código... No aguardo.
  23. Eu entendi.. mas particularmente não sei... o Notepad++ é bem versátil, é capaz de dá para fazer. Se for algo que precise resolver logo, poderia usar o Excel.
  24. Olá @Gabriel Pancaldi. Pronto! Agora fica faltando implementar o se/então/senão... pois são condições mutuamente excludentes, ou seja, se for uma, não pode mais ser alguma depois, e esse tipo de condições pede o senão. Por favor, caso queira implementar, por favor, poste seu código completo aqui ou onde está com dúvidas. No aguardo.

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!