Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.

Simon Viegas

Moderadores
  • Total de itens

    2.669
  • Registro em

  • Última visita

  • Qualificações

    0%

Reputação

886

Sobre Simon Viegas

  • Data de Nascimento 22-06-1982

Informações gerais

  • Cidade e Estado
    Salvador/BA
  • Sexo
    Masculino

Outros

  • Biografia
    Carregando...
  • Ocupação
    Técnico e Analista de Sistemas
  • Interesses
    Tecnologia
  1. VisualG Algoritmo pra número primo

    Olá. Vamos direto a um ponto importante: primo <- 8 // Inicializa com o valor de '8' enquanto "para n1 de 1 ate 23 ou mais" O objetivo do programa é justamente encontrar os primos... daí não seria interessante utilizar primos já conhecidos... a proposta seria utilizar primos que o próprio programa já encontrou... veja, se você já está utilizando 8, o que te impediria de utilizar os X primos que existem do 1 ao 1000? daí nem precisaria de um programa, entende? Poderia por exemplo pegar essa lista e apenas contar quantos são menores que 1000. Mas não! Você precisa pegar cada um os 1000 números e verificar se é primo... ou por aí... Em relação as melhoras, deixe a parte do uso da divisão por primos para final. Por enquanto os outros pontos que já sabe: - o segundo maior divisor de um número natural é no máximo a raiz desse número (utilizar a "raiz de N" no processo); - com exceção do 2, todo número primo é ímpar (gerar lista de número ímpares); Tenta fazer o código com essas características posta aqui. No aguardo.
  2. VisualG Algoritmo pra número primo

    Olá. Obs. 1: eu utilizei o termo MDC, mas na verdade seria apenas MD, já que está se verificando apenas o "maior divisor" do número! Não cabe aqui o termo "comum", pois para ser "comum" teria que ter os divisores de outro(s) número(s) (para ai encontrar "o maior divisor comum entre eles"). Obs. 2: Na verdade não é exatamente o MD, já que o maior divisor sempre será o próprio número... como você mesmo trata no seu código: Ou seja, como não está dividindo por ele mesmo, a quantidade de divisores ficará com um a menos. Resumindo: você precisa encontrar o SMD (Segundo Maior Divisor), rs. Está dando para compreender até aqui? Vamos lá... o trecho abaixo: enquanto (C < Cont1) faca Pode ser traduzido como: enquanto (divisor_atual < limite_de_valor_para_o_divisor_que_eu_tenho_certeza_que_após_ele_NÃO_pode_ser_um_divisor) Ou seja, o valor do "divisor atual" não precisa ser maior que esse limite, pois sei que não será divisível. No seu caso, você deixou o limite como sendo o próprio número (Cont1), mas dentro do trecho faz uma verificação que impede passa da metade. se C * 2 >= Cont1 então //obs.: se fosse seguir o que o texto define, seria algo como "se C >= Cont1/2 então", entende? Matematicamente é mesma coisa Se observar o comentário acima, poderá perceber que poderia simplesmente fazer algo como: enquanto (C < Cont1/2) faca ou limite<-Cont1/2 enquanto (C < limite) faca Pronto.. primeiro tente ajustar o código para que façam testes até a metade do valor de N. Depois que tiver rodando liso, tenta encontrar um limite menor. Obs.: Para simplificar, em vez de usar: se divisores = 1 então divisores <- divisores + 1 C <- Cont1 Use lá em baixo: se divisores+1 = 2 então primo <- primo + 1 fimse Sacou? Ou mesmo inicialize o C com 1, para que comece a dividir a partir de 2, pois por um sempre será divisível (cálculo desnecessário). Daí, o se acima ficaria com "divisores+2" (pois como já citado, todo número tem 2 divisores!, daí só interessa achar se tem mais de 2). Se fosse fazer uma interpretação, poderia ser algo como: se quantidade_de_divisores_além_dos_divisores_que_todo_número_é_divisível = 0 então primo <- primo + 1 fimse Por ai vai... Qualquer dúvida é só perguntar. No aguardo.
  3. VisualG Algoritmo pra número primo

    Olá. Dica inicial: efetue testes com um universo menor... por exemplo com apenas 100 números. A depender com apenas 10... a base é a mesma, ou seja, as regras do algoritmo para primos independe do valor de N, daí com um N menor é mais fácil efetuar as comparações do resultado retornado com o real. A ideia é ir tentando entender o como funciona os primos e ir aplicando melhorias, ex.: - verifique apenas o possíveis candidatos: com exceção do 2, se for par não tem como ser primo, logo já reduz pela metade (ou aproximadamente) o número de cálculos. Ajuste o código para apenas verificar os número 3, 5, 7, 9, 11..., 995, 997, 999. Encontre uma forma de ter essa sequência; - utilize no máximo o máximo MDC possível para reduzir o número de verificações para cada número: uma certeza básica é que não pode ser maior que a metade de N, já que o menor divisor primo é o 2, logo o "divisor do outro lado" seria o maior divisor, correto? Por exemplo: 210. Seu maior divisor é 210/2, ou seja, 105. Logo, não faz sentido verificar o 106, 107, 108... (se já considerar a ideia acima, só será por ímpar, logo não necessitando do 107, 109, 111...). RESUMINDO: verificando apenas de 1 a N/2 já reduz pela metade. Faça isso e testa os resultados. Daí, vai analisando e entendendo os conceitos para tentar encontrar um máximo MDC ainda menor. Quando menor o máximo MDC melhor. - utilizar divisores primo: acho que você já entendeu... - pare de verificar se já identificar um "não primo": se encontrar um divisor extra (se atente que todo número tem 2 divisores, no caso 1 e ele mesmo), não precisa continuar verificando, ou seja, não importa se tem outros ou não. Para de verificar e vai para o próximo. Etc. Vá fazendo por partes... Não tente fazer tudo de uma vez. Insere uma melhora e testa. Se tiver dúvidas, posta aqui. Após, insere outra... repete processo... (tira dúvidas, vai pro próximo, tira dúvidas, vai pro próximo). Tente fazer uma implementação e posta o código aqui. No aguardo.
  4. programa de tarifação telefonica

    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
  5. VisualG Problemas com a logica

    Olá. Alguns pontos: - Não precisa inicializar a variável sair, pois está utilizando repita ("faz, depois pergunta"). Isso seria necessário se utilizado enquanto. Por sinal, conceitualmente o que deve ser inicializado é o contador, pois ela é utilizado como incrementação, ou seja, que utiliza o seu próprio valor para atualizar. obs.: O Visualg inicializa automaticamente, mas é bom para ir se acostumando para futuras outras linguagem quem não fazem isso. - a nomenclatura "sair" não está batendo com o seu uso. Quando tem "s" ele repete?? poderia por exemplo usar "continuar". - no código do @devair1010 a variável i não está sendo utilizada. De qualquer sorte, como "padrão" ("costume") é utilizado o i como primeira opção de auxiliar do para, ou seja, remove o j e troca pelo i. - @Fabio Aragao, em relação ao seu código, observe que você está utilizando um vetor para cada dado, daí, a correlação entre eles está na posição... logo, teria que ser a mesma variável para elas... logo, sendo uma estrutura de repetição só. Como a quantidade de cadastros não é fixa, daí que surgiu a necessidade do contador citado por @devair1010. Obs.: @devair1010, por favor, evite não entregue o código com as correções sugeridas, deixe que o próprio usuário o faça, pois desta forma estimula o usuário a interpretar as orientações, assim como absorverá melhor o que foi aplicado. No aguardo.
  6. VisualG Algoritmo pra número primo

    Olá a todos. Creio que o programa está correto. Apenas precisa de alguns refinamentos. Normal, isso é o tempo do processamento, já que são mais de 500.000 cálculos!!! (basta efetuar a "soma da PA".) Obs.: é possível reduzir esse número, como por exemplo diminuindo o valor máximo do divisor... por exemplo, você está dividindo até o N, mas muuuuito antes disso a divisão já é impossível que seja divisível, ou seja, está fazendo muita conta sem necessidade... basta achar qual seria o maior divisor possível para cada número e aplicar no algoritmo. Outra forma de melhor seria apenas dividindo por número primos. Daí, como o próprio programa já vai encontrando, você pode ir armazenando os primos e utilizando eles na conta, para isso pode usar vetores. ADENDO: Apesar de ser recomendado inicializar as variáveis, no Visualg não se faz necessário, pois elas são zeradas automaticamente (assim como no Pascal/Delphi). O números ficam com 0 e as "caractere" ficam com '' (sem letras armazenadas), assim por diante. Já em outras linguagens como Java, C/C++ dão de fato problema, pois lá o gerenciamento é diferente... obs.: em funções e procedimento também podem dar problema no Visualg e Pascal, pois as variáveis globais só são inicializadas automaticamente. Para testes, experimentem ir pressionando F8, quando as variáveis forem declaradas, verás que apareceram "zeradas" na "Área de Variáveis" que fica no canto superior direito. No aguardo.
  7. Portugol Vantagens e desvantagens do Portugol

    Olá O que seria esse SIGA? e de onde vem essa referência que ele utiliza Portugol como base?
  8. VisualG Não aparece a resposta no VisualG

    Olá. Importante: @Herbet, além desse ponto relatado por @devair1010, informei 0 (zero) e não deu alguma resposta. Zero é número inteiro também, concorda? Precisa tratar esse caso. Da forma que você fez (com a correção) ficou muito bom... mas também poderia fazer, por exemplo, separando por categorias, algo como: - quando igual a zero; - quando maior que zero; - quando menor que zero. Para o primeiro apenas dá a resposta e para cada um dos 2 últimos verifica se é par ou ímpar e dá a respectiva resposta. Lembrando que a forma que você fez ficou bom, falta apenas tratar o zero... este exemplo acima seria uma forma "diferente" de fazer a mesma coisa. Se quiser tentar para treinar, fique a vontade. No aguardo.
  9. VisualG Programa que deve ser usado: Visualg

    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
  10. C Resolução para questão de fila

    Olá a todos. Nesse caso terás uma redundância desnecessária, pois a prioridade está intrinsecamente relacionada a idade. Logo, não precisa da variável (não deve ter)... basta apenas verificar a sua idade e ver se encaixa na prioridade ou não. Simplificando: onde supostamente iria ter "se prioridade=1 faça", deveria ter "se idade>IDADE_PRIORIDADE faça". ADENDO: da mesma forma que normalmente se perguntaria a "data de nascimento", não a idade. A idade é fruto do cálculo com o dia atual, basta subtrair!... da mesma forma que a prioridade (idoso?) é baseado com a faixa de idade (65 anos) com a idade atual do eleitor (que foi por sua vez já calculado). No aguardo.
  11. Pascal Multibanco em PaSCAL pls

    Olá @Gonçalo Matos. Poste o que já conseguiu fazer e onde está com dúvidas. No aguardo.
  12. VisualG testar e-mail usando visualg

    Olá @Estefani Arce. Seja bem vinda ao Fórum do Clube do Hardware. Tente fazer com requisitos mínimos inicialmente, como apenas verificar se tem @ ou não. No aguardo.
  13. VisualG Resultado da Variavel Decimal

    Olá. Acontece que o Visualg entende o "." como a ",", ou seja, serve para separar a parte das casas decimais. De um modo geral, as linguagens de programação seguem o padrão da cultura inglesa, onde utilizam o ponto como separador decimal. Ex.: 1500,23 aqui é 1500.23 lá (nos programas). Ao inserir um salário observe na "Área das variáveis", no canto canto direito do Visualg, que o valor armazenado fica com uma vírgula. O 1800 = 1800,0000000.... já 1.800 fica 1,80000000... Na prática, creio eu, que o número é armazenado com ".", e o Visualg mostra no painel como ",", pois é o natural do Brasil. Ao mesmo tempo que ao inserir com um número com ",", o Visualg converte para "." (já que muitos usuários do Brasil tendem a inserir "," como separador decimal, e o programa iria "bugar"). Resumindo: ao inserir o valor, não devem-se utilizar o "." para separar os números de 3 em 3. O ponto é utilizado no lugar na "," vírgula.
  14. VisualG Exercicio INSS Logica

    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
  15. C espaçamento ao abrir executar um arquivo .bat

    Na forma correta como? tem como demonstrar como está? Se está reconhecimento como parâmetro, então não está "certo". Posta a tela de como chega e o código aqui para analisarmos.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×