PplWare Mobile

Vamos Programar? – Introdução à Programação #8

                                    
                                

Este artigo tem mais de um ano


Autor: Henrique Dias


  1. Luís Cruz says:

    Like!

    Mas atenção, ao copiar o código o programa colocou o código html em vez do sinal maior e menor 😉

    • Obrigado pelo reparo. 🙂

      • Gonçalo Santos says:

        Henrique, tenho algumas dúvidas no último exercício. Qual é o operador para a raiz quadrada? Qual o para o ±? Devemos incluir cada “lado” da fracção em parêntesis ou é só por por ordem?

        • Olá Gonçalo. Peço desculpa pela demora, tenho andado ocupado.

          Para utilizar a raiz quadrada, inclua a biblioteca Math.h e utilize a função sqrt().

          Relativamente ao ±, ele significa que temos que efetuar tanto a soma como a subtração. O que aconselho a fazer é primeiro verificar a equação com a soma/subtração e depois verificar com a outra operação e então mostrar as soluções obtidas.

          Dica: caso a raiz quadrada seja 0, então basta efetuar um cálculo posterior (-b/2a) porque não é necessário adicionar/subtrair 0. Essa verificação pode ser feita para diminuir o tempo de execução e aumentar a velocidade.

          Cumprimentos,
          Henrique Dias =D

  2. SSaraiva says:

    Pequeno reparo para não confundir mais tarde as pessoas. Se calhar o melhor nome para um if-else não seja loop mas sim controlo de fluxo ou teste condicional, tal como mencionado no artigo.

    De resto muito bom o artigo. Continuação de bom trabalho.

    • Diogo says:

      Eu retiro o “se calhar” a essa frase… o if-else não é um loop, mas sim uma estrutura de controlo / seleção / decisão…

      Um pouco mais de rigor na escrita dos artigos, não era mal pensado…

      • Vítor M. says:

        Diogo… o nosso benjamim está a precisar de ajuda, queres dar um help? 😉 A comunidade de iniciantes na programação está a crescer de uma forma que não contávamos, queres dar um help?

      • Diogo Jesus says:

        Tens razão, mas não era mais importante a correção do código em si? Não no sentido de estar logicamente mal escrito, mas pelo facto de quem quiser experimentar não conseguir usar os excertos tal como estão (parece que algum reconhecer automático reconheceu o código como HTML). Mas sim, não são loops nenhuns 🙂

  3. Gonkali says:

    Apenas um reparo/sugestão, a indentação dos códigos poderá não estar para alguns perceptível, nomeadamente as instruções if else encadeadas e o uso de chaves na relação Condição->Instrução para uma leitura mais simplificada do código.

    De qualquer maneira excelente tutorial, continuem o bom trabalho 😉

  4. Marco says:

    vcs deviam ensinar o swift para programar para ios, o unico SO util

  5. Ricardo says:

    Excelente trabalho, muitos parabéns…. =D

    Já agora que falamos aqui de programação, eu começei agora a programar em 4gl coisa totalmente desconhecida para mim. Alguém me pode indicar onde posso arranjar material para tal?

    Obrigado

  6. Mr. Antunes says:

    Bons artigos! Só não gostei lá muito da imagem deste artigo, faz-me lembrar mais eletromagnetismo do que propriamente “programação”… 😛

  7. VM says:

    Boa noite, gostaria q explicassem porque tem de inicializar o seed ou o que é isso?
    É que sempre só ouvi o rand().

    Em suma, poderiam explicar o srand? Obrigado

  8. lmx says:

    Boas Henrique,

    Parabéns pelos artigos 🙂

    Queria apenas deixar uma opinião…

    Usas uma sintaxe “á la c89, ou gnu”…

    faz a declaração das variáveis primeiro e só depois a afectação das mesmas 😉
    porque no c89, a declaração de variáveis deve ser a primeira coisa a fazer 😉
    se fizeres as duas coisas ao mesmo tempo, mesmo assim devem estar no inicio das funções…

    Os Comentários individuais(“//”), não existem no c89, vais receber um warning…

    Continua o bom trabalho 😉

    cmps

  9. sakura says:

    #include // http://linux.die.net/man/3/srand
    gosto + do mono y cs.
    http://monodevelop.com/
    se é para apernder que de para todas… wp,and,ios,win10,Linux, BSD, UNIX, Mac OS X, Solaris.

    • lmx says:

      mono é um “producto envenenado”…não obrigado!

      Entre Mono e Java, preferia Java, que permite a utilização do OpenJDK de borla, embora que a tecnologia na mesma seja proprietária, já a M$ depende da tecnologia Java, na sua VM e como tal Mono a mesma coisa…pois, o java(versão Não openJDK) apenas licenciou o java grátis para windows, pelo que a VM Mono…está numa nuvem de incertezas sombria…

      C corre em todo o lado, não sei se existe linguagem que corra em mais sítios que C…

      É por ser para correr em todo o lado que muito provavelmente se escolheu a linguagem tida como a melhor…

  10. Leitor says:

    [DUVIDA]
    *Como se pede ao programa a parte inteira da divisão entre 10 por 3?

  11. Jamiro says:

    DUVIDA
    Boas.
    Na primeira “aula” Vamos programar? Vinha a opção para fazer o download em PDF, mas nos seguintes “aulas” não era possivel. Sera possivel fornecer as outras “aulas” em PDF.

  12. Marcio says:

    [DUVIDA]
    Não estou consguir usar a função para numeros aleatorios alguma dica???
    Obtenho o erro main.cpp:6:18: error: ‘srand’ was not declared in this scope
    main.cpp:8:15: error: ‘rand’ was not declared in this scope
    Já fiz copy paste do codigo aqui colocado e mesma assim nada.
    Obrigado

    • Pode enviar o conteúdo de todo o ficheiro? Coloque o ficheiro no GitHub Gist ou no Pastebin, por exemplo, para uma fácil partilha e depois envie-nos o link pelos comentários que tentaremos ajudar 🙂

      • Marcio says:

        Olá obrigado pela rápida resposta, em relação ao zip com as soluções se não desse muito trabalho acho que era interessante.
        Já em relação ao ficheiro com o qual me dá erro e não consigo criar numeros aleatorios encontra-se no seguinte link:
        gist

        • Então, a partir de agora iremos colocar um “zip” com as soluções.

          A resposta ao erro coloquei nos comentários do Gist que enviaste. 🙂

          • Marcio says:

            Obrigado isso resolveu o erro, mas diz-me a biblioteca /(standart input/output) e a para que situações mais a devo usar??

          • Marcio says:

            desculpa o comentario ficou com palavras ocultas devido ao que aos simbolos usados o que eu queria perguntae era a biblioteca stdio é standart input e output e a stdlib é o que, quando a devo usar??

          • Olá Márcio!

            O Netbeans, o IDE que estou a utilizar, importa sempre as bibliotecas “stdio” e “stdlib” por isso esqueci-me de o colocar no artigo.

            A bibliteca “stdlib” é uma biblioteca de propósito geral que contém várias das funções mais utilizadas, contendo algumas funções dos diversos campos, incluindo a Matemática.

            Pode ver aqui as funções que esta biblioteca contém.

            Agora, vou adicionar essa informação no artigo. Bons estudos/trabalho e Boas Festas 🙂

          • marcio says:

            Boas Festas 😀

  13. marcio says:

    E já agora mais uma pergunta não havia um zip para descarregar com as soluções dos exercicios?? Ou sou só eu que não estou a ver o ficheiro para descarregar?

  14. helder says:

    Ao resolver o exercicio da equação de segundo grau e utilizando a função rand por vezes o programa retornava-me “nan”. Reparei que só acontecia quando o valor da raiz era menor que 0! Que posso fazer para corrigir isso ?

    • Quando o valor que está dentro da raiz é menor que 0, não se deve continuar a resolver a equação, dizendo-se que é uma Equação Impossível.

      Valores negativos em raízes só são admitidos no grupo dos Números Imaginários, mas nós estamos a trabalhar com Números Reais.

      A sigla NaN quer dizer Not a Number. O problema, pelo que me parece, não é com a função rand, mas com o fato de não pudermos resolver raízes de números negativos.

      O que recomendo a fazer é o seguinte:

      – Quando b^2-4*a*c < 0, imprime “Equação Impossível”.
      – Quando b^2-4*a*c = 0, só existe uma solução, por isso mostrar o resultado de -b/2a.
      – Quando b^2-4*a*c > 0, existem duas soluções, por isso devem-se mostrar ambos os resultados.

      Cumprimentos

      • angel says:

        falta ai dixer que se o valor de A for igual a Zero e impossivel, pois nao e possivel dividir um numero real por zero

        if(a=0){
        printf(“IMPOSSIVELÇ DIIVIDIR POR ZERO”);
        }else if(…){…}

  15. helder says:

    Uma pequena observação, não estou a usar o netBeans mas sim o Eclipse em Ubuntu.

Deixe um comentário

O seu endereço de email não será publicado.

You may use these HTML tags and attributes: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

Aviso: Todo e qualquer texto publicado na internet através deste sistema não reflete, necessariamente, a opinião deste site ou do(s) seu(s) autor(es). Os comentários publicados através deste sistema são de exclusiva e integral responsabilidade e autoria dos leitores que dele fizerem uso. A administração deste site reserva-se, desde já, no direito de excluir comentários e textos que julgar ofensivos, difamatórios, caluniosos, preconceituosos ou de alguma forma prejudiciais a terceiros. Textos de caráter promocional ou inseridos no sistema sem a devida identificação do seu autor (nome completo e endereço válido de email) também poderão ser excluídos.