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.256
  • Registro em

  • Última visita

  • Qualificações

    0%

Reputação

642

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. 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
  2. Olá @Bruno Galote. Você precisa copiar o texto do código com mais atenção, rs... Vamos lá: Para corrigir faça o seguinte... compile o código e veja qual erro dado. Nem sempre o erro apresentado é exatamente o que precisa, mas vai acostumando.. as correções estão baixo: 1-Faltou o end; do primeiro for (como não fechou o for, ele acusou que está reutilizando o I) 2-Na linha 46, você colocou um ; depois do then 3-A depender do seu compilador, será necessário declarar a unit CRT (ou WinCRT) para reconhecer o ReadKey. ex.: {Programa para efetuar uma pesquisa binária de nomes em uma referida matriz} Program Pesquisa_binaria; uses CRT; No aguardo.
  3. Olá a todos. @JESSÉ ÁVILA, você apenas postou um código... sem qualquer comentário sobre o que se trata! Por favor, poste alguma explicação... se está com dúvidas sobre algo, se é para compartilhar o código... etc @devair1010. Por esse princípio teria que também usar vetor para armazenar os "nomes". Este que por sinal nem está sendo utilizando posteriormente no código atual. Mas se for apenas para calcular a média, não precisaria de vetor, já que o suposto objetivo é apenas acumular os "custos" e calcular a média. Vai mesmo depender do contexto... (que não foi informado) ADENDO: @JESSÉ ÁVILA, aproveitando..: Se é "o valor médio pago", provavelmente deveria usar a variável media, em vez de soma. Acho interessante se atentar que "valor" e "custo" são coisas diferentes. Por sinal, provavelmente o que você está querendo não é nem uma coisa nem outra. Acho que seria "preço". Uma sugestão básica seria sempre tentar usar nomenclaturas de variáveis de acordo com a sua funcionalidade ou contexto. Por exemplo, se estava lendo o "valor do produto" seria recomendado usar a variável valor (obs.: acho que deveria ser preço). Assim como lá no para, que está usando valor, poderia ser qtd (referente a quantidade), ou i (como um padrão na programação), ou item (como referência ao "número do item da lista)... etc. Em relação "ao acumulador" acho que usar soma está ok... assim como poderia ser somaProdutos, ou total, ou subTotal, etc. No aguardo.
  4. Olá @iS2Hardware. Eu não entendi muito bem a sua explicação, ou tem algo faltando ai... veja: Em "A vale 1". A vale 1 o quê? Se A=1, logo A=1... não pode valer ou mesmo tempo R$ 0,77. O mesmo vale para B e C. Pois cai no conceito do "Princípio da não contradição", que é relacionado a "Lógica matemática". Ou seja, A não pode ser igual a 1, e ao mesmo tempo não ser igual a 1. Talvez deve existir outra informação... por exemplo, "A vale 1 dólar em 1994"... Por favor, tente explicar melhor do que se trata. No aguardo.
  5. Você só postou uma imagem... qual a sua dificuldade ou dúvida?
  6. Olá. Creio que deveria se atentar no uso das variáveis... a variável Emprestimo está sendo usada como "valor do empréstimo" e também usada como "valor da parcelas". Acho que não deveria reutilizar a mesma variável, já que são objetos distintos. Recomendaria usar outra separada, ex.: valorParcela:real. Outra coisa... O valor dessa parcela está com um pequeno erro, pois está dividindo sempre por 10, mas deveria dividir pelo número de parcelas!, ou seja, se o cara escolher dividir em menos de 10 vezes, você terá um belo de um prejuízo. (e se escolher mais, estará tendo ganhos indevidos também, rs) ADENDO: Recomendam-se tentar deixar a nomenclaturas das variáveis o mais sugestível possível. Ex.: var valorEmprestimo, valorParcela :real qtdParcelas :inteiro No aguardo.
  7. A ideia é que você desenvolva o algoritmo... e caso tenha dúvidas, posta elas aqui e ai tentarmos te ajudar. No aguardo.
  8. Ai vai depender de como seria no meio... mas vamos lá... O GotoXY() funciona assim: ela posiciona o "cursor onde vai sair os caracteres" de acordo com a "coluna" e "linha" informadas... estes correspondentes a matriz da tela, ou seja, com a "resolução da tela" do seu Pascal. GogoXY(coluna,linha); O tamanho pode variar de compilador para compilador, por exemplo sendo 80x25, ou seja, 80 colunas por 25 linhas. Já vi também de 80x40... É necessário verificar qual a sua resolução... Para centralizar precisa de 2 pontos: - Para linha: aqui é mais simples... basta usar a metade (ou aproximadamente) do máximo. - Para coluna: você precisa correlacionar o tamanho da frase (pode usar o Length()) com o tamanho máximo da coluna. Fazer que metade da frase fica do meio pra esquerda, e a outra metade na direita. Ex.: obs.1: a depender do compilador, o GotoXY() já estará incorporado, ou seja, não precisando usar a uses para carregar a CRT. obs.2: a depender do compilador, usam-se WinCRT, em vez de CRT. obs.3: a depender do compilador, pode ser que o GotoXY() esteja, sei lá, em outra biblioteca. Se você precisa só que fique no meio em relação a linha ou só em relação a coluna, basta usar só um dos princípios para centralizar o que deseja, ou seja, ou a coluna ou a linha. No aguardo.
  9. Olá. Qual a sua dúvida?
  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. Entendi! é que você apenas postou "um código" sem nenhum comentário. Em relação ao código, ficou muito bom! Parabéns! Aproveitando a oportunidade... existe algum motivo especial para fazer essa "escadinha" na indentação do código? Geralmente deixamos alinhando de acordo com o nível da instrução em relação a sua respectiva estrutura.... ex.: Algoritmo "Transformar os valores decimais em Binários, Octais ou Hexadecimais." Var Num, Valor: inteiro Resultado1, Resultado2, Resultado3: Caracter Inicio escreval("==============================================") escreval("Vamos transformar o valor decimal em Binário!!") escreval("==============================================") escreval("Digite um valor Decimal: ") leia(Num) Valor <- (Num) enquanto (Num > 0) faca escolha (Num mod 2) caso 0 Resultado1 <- ("0" + Resultado1) caso 1 Resultado1 <- ("1" + Resultado1) fimEscolha Num <- (Num div 2) fimEnquanto escreval("O valor: ", Valor, " em Dicimal será de: ", Resultado1, " em Binários!!") escreval("==============================================") escreval("Vamos transformar o valor decimal em Octal!!") escreval("==============================================") escreval("Digite um valor Decimal: ") leia(Num) Valor <- (Num) enquanto (Num > 0) faca escolha (Num mod 8) caso 1 Resultado2 <- ("1" + Resultado2) caso 2 Resultado2 <- ("2" + Resultado2) caso 3 Resultado2 <- ("3" + Resultado2) caso 4 Resultado2 <- ("4" + Resultado2) caso 5 Resultado2 <- ("5" + Resultado2) caso 6 Resultado2 <- ("6" + Resultado2) caso 7 Resultado2 <- ("7" + Resultado2) fimEscolha Num <- (Num div 8) fimEnquanto escreval("O valor: ", Valor, " em Dicimal será de: ", Resultado2, " em Octal!!") escreval("==================================================") escreval("Vamos transformar o valor decimal em Hexadecimal!!") escreval("==================================================") escreval("Digite um valor Decimal: ") leia(Num) Valor <- (Num) enquanto (Num > 0) faca escolha (Num mod 16) caso 1 Resultado3 <- ("1" + Resultado3) caso 2 Resultado3 <- ("2" + Resultado3) caso 3 Resultado3 <- ("3" + Resultado3) caso 4 Resultado3 <- ("4" + Resultado3) caso 5 Resultado3 <- ("5" + Resultado3) caso 6 Resultado3 <- ("6" + Resultado3) caso 7 Resultado3 <- ("7" + Resultado3) caso 8 Resultado3 <- ("8" + Resultado3) caso 9 Resultado3 <- ("9" + Resultado3) caso 10 Resultado3 <- ("A" + Resultado3) caso 11 Resultado3 <- ("B" + Resultado3) caso 12 Resultado3 <- ("C" + Resultado3) caso 13 Resultado3 <- ("D" + Resultado3) caso 14 Resultado3 <- ("E" + Resultado3) caso 15 Resultado3 <- ("F" + Resultado3) fimEscolha Num <- (Num div 16) fimEnquanto escreval("O valor: ", Valor, " em Dicimal será de: ", Resultado3, " em Binários!!") fimAlgoritmo Sei que talvez a proposta não seja entregar um produto final ou perfeito.. mas, aproveitando, existem alguns pontos que poderiam ser verificados, ex.: - Só precisaria de uma variável para o resultado, ou seja, basta reutilizar o resultado. Assim como é feito com Valor e Num. (pela lógica teria que ter valor1, valor2 e valor3... e o mesmo para os Num). - Lá na leitura dos "valores" a serem convertidos, eu faria o contrário: Ou seja, leria Valor... e num seria igual a este. E continuaria usando o num nas operações. O resultado seria o mesmo, é apenas uma questão de interpretação. - Experimente informar 0 em qualquer uma das operações (zero também é um número decimal). - Idem acima para números negativos...; - Analisando aqui, essa sua técnica é universal, ou seja, teoricamente funcionaria de decimal para qualquer base... logo, bastaria solicitar os números e a também a "base final", daí, faria algo do tipo: enquanto (Num > 0) faca escolha (Num mod BASE) caso 1 Resultado3 <- ("1" + Resultado3) caso 2 Resultado3 <- ("2" + Resultado3) caso 3 Resultado3 <- ("3" + Resultado3) caso 4 Resultado3 <- ("4" + Resultado3) caso 5 Resultado3 <- ("5" + Resultado3) caso 6 Resultado3 <- ("6" + Resultado3) caso 7 Resultado3 <- ("7" + Resultado3) caso 8 Resultado3 <- ("8" + Resultado3) caso 9 Resultado3 <- ("9" + Resultado3) caso 10 Resultado3 <- ("A" + Resultado3) caso 11 Resultado3 <- ("B" + Resultado3) caso 12 Resultado3 <- ("C" + Resultado3) caso 13 Resultado3 <- ("D" + Resultado3) caso 14 Resultado3 <- ("E" + Resultado3) caso 15 Resultado3 <- ("F" + Resultado3) fimEscolha Num <- (Num div BASE) Obs.: teoricamente funcionaria até a base 16, ou seja, de base decimal para base 2 a 16. Por ai vai.. Att
  12. Olá @ET Bilu. Testei seu código aqui no Portugol Studio, e meus testes aqui não deram certo... Ex.: 10 5 9 8 7 6 4 8 9 1 3 9.0 9.0 3.0 Programa finalizado. Tempo de execução: 6896 milissegundos Teria que dar 9, 9 e 8. Outro ponto é que você precisa interagir com o usuário, ou seja, ao executar o programa apenas fica um cursor piscando... tive que "adivinhar" o que era para fazer. Use "escreva()" para ir orientado o que o usuário deve fazer. No aguardo.
  13. Olá @ET Bilu. Qual programa ou site usa para compilar e executar esse código?
  14. Olá @JESSÉ ÁVILA. Do que se trata esse código? qual a sua dúvida ou proposta? No aguardo.
  15. Olá @mateus costa r. Minhas sugestões: 1) CÁLCULO DE RAÍZES Tomando como base seu código: Obs.: os itens 1.1 e 1.2 eu já deixarei exemplos de como podem ficar (meio que "já dando a resposta")... 1.1) Recálculos desnecessários Em vez de usar "B*B - 4*A*C" no enquanto, use uma variável para armazenar o resultado. Do jeito que está, a cada loop do enquanto a conta estará sendo refeita... ou seja, um trabalho extra pro processador. Ficaria algo assim: j <- 0 i <- 0 Delta<- b*b-4*a*c enquanto (j*i <= Delta) faca escreva (j, " ") j <- j+0.1 i <- i+0.1 1.2) Duplicação de variável Percebem-se que as variáveis j e i serão sempre idênticas, ou seja, basta usar apenas uma delas... ficando algo como: j <- 0 Delta <- b*b-4*a*c enquanto (j*j <= Delta) faca escreva (j," ") j <- j+0.1 Outra coisa... a própria definição sugere que deveria ser uma variável só: 1.3) Quanto a eficácia da operação Nesse seu código você está utilizando uma técnica com laço de repetição para calcular a raiz quadrada de um número... mas a conta não está batendo, veja: Ao usar a=1, b=12 e c=-13, Delta daria 196, correto? Quanto dá a raiz de Delta, ou seja, a raiz de 196? Pela calculadora deu 14, mas no seu código está dando 14.1. Precisa corrigir isso. 2) ARREDONDAMENTO DE RESULTADO Então, na verdade não necessariamente funcionou, apenas meio que fez dar uma reposta equivalente ao que você desejava. São coisas diferentes. Veja, o resultado do cálculo via Bhaskara inclui a parte fracionada também (quando ocorre)! O número teria que ser exato (ou com um arredondamento menor). O problema está lá no item 1.3), ou seja, está fazendo o cálculo da raiz de Delta errado, daí consequentemente as raízes da equação também vão dar erradas. Por sinal, em vez de ":1:0", sugeriria algo como "1:3" ou mais, ou simplesmente não arredondar. Não precisa. RESUMINDO: ao usar 1, 12 e -13, o programa deveria retornar x1=1 e x2=-13, sem precisar arredondar (o resultado já é redondo). 3) ETAPAS PARA CALCULAR VIA BHASKARA Pelo link que você postou, são 3 etapas: Etapa 1: Calcular discriminante Etapa 2: Substitua discriminante e coeficientes na fórmula de Bhaskara Etapa 3: Calcule as raízes da equação Está faltando a primeira! Ou seja, é necessário "discriminar" a categoria da equação do segundo grau de acordo com o valor de Delta: se é maior que 0, igual a 0 ou maior que 0. Cada categoria tem um tipo de resposta diferente. RESUMINDO: a modo de calcular muda de acordo com o valor de Delta. *** No aguardo.

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

×