PplWare Mobile

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

                                    
                                

Este artigo tem mais de um ano


Autor: Henrique Dias


  1. Tiago Costa says:

    Quero aprender a programar e ja comprei um macbook pro retina para comecar, que programa devo instalar para programar em C? eclipse?

    • says:

      Se queres aprender programar não é preciso dizer que compraste um macbook pro retina TDi 177hp.
      Qualquer computador serve 😉

      btw, Para começares, instala o compilador gcc e usa um editor qualquer com highlight sintax.

      • Tiago Costa says:

        eu sei mas e da emoção por ser o meu primeiro mac , e apesar de ter de aprender tudo estou a adorar a experiência! Como trabalho diariamente com fotografia, video e musica escolhi mac osx por ser o melhor, e depois nunca tive um portatil tao bem construido, silencioso e com qualidade de ecra tao suberba como este. So tinha tido um ipad, este e o 2o produto da apple e para ja muito satisfeito! Nem percebo porque criticam tanto a apple, espero nunca vir a perceber !

        • lmx says:

          🙂

          Parabéns pela aquisição, que te traga muita alegria 😉

          Nunca tive, mas é seguramente a melhor opção comercial que por ai anda 😉

          Para C?
          tens que ter a librarias de sistema, e um compilador 😉

          mais nada!

          Depois claro, podes usar um editor de texto para programar, ou um IDE tipo eclipse, ou netbeans, ou xcode talvez suporte C…isso depois é uma coisa que tens que ser tu a escolher 😉

          Eu pessoalmente não saiu do geany, ou um editor de texto, quando é alguma coisa tipo um dois ficheiros, mas o xcode talvez dê e ha muita malta por ai que adora esse IDE nos MAC’s..

          cmps

    • Miguel Azevedo says:

      Tiago,
      Instala o XCode no teu Mac e igualmente as Command Line Tools directamente do site da apple.
      Penso que teras que criar uma conta de developer.
      Depois e so desenvolver.
      Outra solucao e instalares um editor (sublime por exemplo).
      Se abrires uma janela de comando no Mac e escreveres gcc vais ver que vem instalado de rais no Mac! O gcc e o teu compilador. Usa-o para compilares os teus programas via command line.
      Espero ter ajudado.

      • Tiago Costa says:

        Ja o fiz, muito obrigado! Tens mac? Gostaria de trocar impressões com alguém entendido em mac osx porque so comecei agora e ate instalar/desinstalar ainda faz confusao por ser diferente(apesar de ser mais logico e fácil que windows ate). Em relacao ao office chega bem o da apple ou o da microsoft para mac e melhor?

        • Miguel Azevedo says:

          Ola Tiago,
          Para instalar/desinstalar vai vendo os HowTo’s para mac conforme vais precisando e chegaras brevemente a um ponto que e intuitivo.
          Relativamente ao office n te posso dar grande ajuda pq nunca usei a versao mac.

    • 4 Dummies says:

      Eu quero aprender a conduzir.
      Pela lógica, a primeira coisa era comprar o livro de
      código, mas não, o que comprei mesmo foi um Bugatti Veyron.

      Experimenta comprar um livro técnico de programação!

    • says:

      eheh. Se já compraste um Mac não é preciso mais nada, já és grande programador.

  2. says:

    Boas
    Algumas notas.

    A instrução “fflush(stdin)” nunca deve ser utilizada. Felizmente esta função não funciona em linux.

    A função gets também deve ser evitada. Usem antes fgets.

  3. lmx says:

    boas…

    Para posix, não existe uma resposta para o fflush.

    o fgets, também me parece a melhor solução, ou melhor…o melhor contorno para a falta de uma solução 😉

    • Olá Zé e lmx!

      Sim, é verdade, mas de momento estamos a utilizar estes comandos, não esquecendo que esta saga de artigos se mantém sendo uma introdução à Linguagem.

      De qualquer forma, já havíamos mencionado que esses dois comandos (fflush e _ffpurge) não devem ser muito utilizados em tutoriais anteriores 🙂

      Um excelente fim de semana.

      • lmx says:

        boas Henrique,

        Eu percebi, não fiques com a ideia que foi uma critica.
        Que não foi mesmo! 😉

        Estes problemas de portabilidade afectam muita gente!
        Eu, muitas das vezes, sou a primeiro a ser apanhado “na curva”, com problemas destes… 🙂

        Abraço e bom fim de semana

    • José Carlos Ferreira says:

      Solução para limpar o stdin portável para qualquer (ou 99% dos SO’s):

      #define CLEAR_INPUT while (!getchar ()) /*void*/

      usage:

      CLEAR_INPUT; /*as simple as this*/

  4. Jose Simoes says:

    Na minha modesta opinião só falto discutir o problema GRAVE do que se passa se o utlizador digitar um número de caracteres superior à memória disponível a começar na apontada por “nomeDaString”.

    Já agora, e isto é uma questão mais formal, “nomeDaString” quando apareçe como argumento das fcs em estudo é o nome de um ponteiro para um caracter, não de um array de caracteres.

    • Obrigado pelas correções 🙂 Bom fim de semana.

      • José Carlos Ferreira says:

        Também acho que é importante dizer que convém ler a definição da função “scanf ()” e perceber o quão importante é fazer coincidir o formato de leitura escolhido e a forma como os dados são introduzidos.

        Exemplo:

        scanf (“%d%d”, &int1, &int2);

        vai dar asneira se houver mais scanf’s a seguir a este, porque para validarmos o segundo dado itroduzido, pressionamos a tecla “Enter” e esta não é lida pelo scanf, ficando no stdin. Mas o scanf seguinte irá ser a primeira coisa que vai ler. Este “Enter” vai dar problemas. Portanto convém ter algum cuidado. Uma solução é o uso da macro que coloquei uns posts acima.

  5. José Carlos Ferreira says:

    Por isso mesmo disse que é preciso ter algum cuidado ao usar a função scanf ();

    • Miguel Moura says:

      Deu para perceber José Carlos 🙂
      O C é uma liguagem relativamete fácil mas cheia de armadilhas. Num nível introdutório estas questões são muitas vezes deixadas de parte e depois provocam a longo prazo erros de programação em produção.
      Concordo que as boas práticas e a aplicação de “design patterns” sejam adoptados desde inicio… Mas neste caso essa é a parte do Henrique Dias 🙂
      Um abraço.

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.