Categorias
Programação

Funções em linguagem C, Bibliotecas e Libc – Parte 2

Finalmente está no ar a segunda parte do conteúdo de funções e bibliotecas!

Se você ainda não assistiu a primeira parte, o post anterior está aqui neste link.

Hoje vamos aprender como utilizar algumas funções matemáticas fornecidas pela glibc através da “math.h” e algumas funções de uso geral da “stdlib.h”.

De quebra vamos aprender rapidamente o tipo de variável “double”, que nos permite representar um número “real” (com casas decimais), e veremos como pedir para o printf() formatar este tipo de valor adequadamente quando impresso na tela.

Talvez você perceba que o ritmo da aula foi meio acelerado, mas logo voltamos à nossa “programação normal” 🙂

Caso tenha curiosidade de olhar tudo o que a Glibc oferece para você usar no seu programa, vou deixar o link da documentação abaixo. Não se assuste com a quantidade de informação. Realmente é bastante coisa, mas de passo em passo a gente chega lá.

Como exercício você pode procurar no documento as funções que aprendemos hoje na aula, e talvez descobrir outras funções semelhantes.

https://www.gnu.org/software/libc/manual/html_mono/libc.html

Eu sei que olhar documentação nem sempre é um processo divertido, mas pense assim: Melhor gastar 2 minutos do seu tempo olhando e entendendo a documentação de algo que já existe do que gastar 1 hora programando algo do zero e que já havia sido feito por outra pessoa.

Para finalizar, tenho dois avisos:

  1. Nos dias 18, 19 e 20 de Agosto de 2017 estará acontecendo a primeira QtCon do Brasil em São Paulo. Farei uma palestra sobre o que aprendemos no desenvolvimento do Ubuntu Phone usando o framework Qt. A programação do evento está muito legal e terá diversas palestras interessantes. Algumas pessoas que acompanham aqui já me avisaram que comparecerão e será um prazer conversar pessoalmente com vocês.
  2. Para os alunos do curso de terminal: Neste domingo lançamos o Curso de Shell Script e alunos do curso anterior recebem 50% de desconto. Um cupom foi enviado no mesmo e-mail utilizado no cadastro do EAD. Se por qualquer motivo você não recebeu o seu, por favor entre em contato com o EAD do Diolinux. Caso ainda deseje fazer o curso anterior, ao final você também receberá o desconto para prosseguir no de Shell Script.

Um abraço e até mais.

Categorias
Programação

Funções em linguagem C, Bibliotecas e Libc – Parte 1

Já imaginou você emprestar um livro e adquirir instantaneamente todo o conhecimento sem nem precisar ler? Parece bom demais pra ser ver verdade, não é? Mas esta é a mágica das bibliotecas em linguagens de programação, e que vamos aprender um pouco melhor no vídeo hoje. Vamos também entender o que são funções em linguagem C.

Para você não se assustar muito, já adianto que o vídeo de hoje é o maior vídeo que já gravei aqui pro site. Um combo de uma hora de duração.

Tópicos abordados:

  • Programar direto na linha de comando (opcional) do seu computador;
  • Instalar o compilador de linguagem C da GNU (gcc);
  • Aprender a compilar seu programa com o gcc manualmente no terminal;
  • Aprender o que são funções usando o exemplo da minha cafeteira italiana;
  • Fazer um paralelo entre funções em linguagem C e funções da matemática;
  • Aprender o que são bibliotecas e como elas vão facilitar sua vida na programação;
  • Mostrar exemplos de bibliotecas open source que você pode usar no seu programa.
  • Aprender o que é a libc e a glibc;
  • Aprender o que exatamente significa “#include <stdio.h>”, e o que isso tem a ver com o Neo do Matrix.
  • Aprender a usar as funções puts(), putchar() e printf().

Como você deve ter visto, é bastante conteúdo e por isso recomendo que você reserve uma hora do seu dia para assistir e executar os procedimentos da aula no seu computador.

Segue aqui os links que citei durante a aula:

Como nesta aula não consegui vencer todo o conteúdo que tinha preparado, dividi o post em duas partes.

Na próxima aula veremos algumas outras funções em linguagem C oferecidas pela libc: funções matemáticas e funções de uso geral.

Agora me diga aí nos comentários sua opinião pra eu poder ir adequando as aulas aos poucos e achar a melhor forma de trazer o conteúdo pra você.

Um abraço e nos vemos na parte 2.

Categorias
Programação

Programação em C: Raio-X na Memória RAM

Se você tem curiosidade de saber como os dados são armazenados na memória RAM do computador, o vídeo de hoje é pra você.

Este é um conhecimento que muitas vezes é ignorado por quem estuda programação, mas que eu considero extremamente necessário.

A Memória RAM é um dos componentes da nossa dupla dinâmica, e é um dos elementos com quem a gente mais interage na nossa vida de programador.

Independente da linguagem de programação que você for aprender, entender o mecanismo usado pelo computador pra guardar os dados na memória RAM irá te ajudar a progredir mais rápido.

No post passado eu mostrei rapidamente como declarar variáveis (Gavetas!) e mudar seus conteúdos.

No vídeo de hoje você vai entender como que estes dados vão se acomodando (alocando) internamente na memória RAM conforme a gente vai manipulando as variáveis dentro do nosso programa.

De quebra você já vai entender de forma resumida o que são os famosos (e tão temidos) “ponteiros” em linguagem C.

E aí? Curtiu? Deixe um comentário aqui em baixo pra eu saber se esse tipo de conteúdo é relevante para você.

Abraço!

Categorias
Programação

Gavetas! Introdução à Variáveis em Linguagem C

No post de hoje você vai ver uma breve introdução à variáveis em linguagem C.

Vou começar com uma pequena história:

Quando eu ainda era pré-adolescente (sim, eu comecei cedo nessa vida computacional) eu perguntei para o meu pai o que eram variáveis.

Eu já programava alguma pouca coisa em BASIC e estava querendo me aprofundar no assunto (antes que você me pergunte: não! não dava pra pesquisar no google. Internet só surgiu alguns anos depois).

A explicação que ele me deu me deixou intrigado e simplesmente nunca saiu da minha cabeça, e hoje vou passar ela adiante, e espero que ela faça sentido pra você também.

Gavetas!

A resposta foi curta e simples: “Variáveis são gavetinhas”.

Na hora eu confesso que não entendi completamente. Faltava conhecimento de algumas outras coisas e conceitos de computação que só fui aprender alguns anos depois.

Já te adianto que quando um programa está rodando, essas gavetas são colocadas dentro de um armário que fica dentro do seu computador, e que eu já expliquei lá no post da dupla dinâmica.

Além disso, descobri que eram as variáveis que, além de outras coisas, ajudariam a controlar aquele nosso fluxograma computacional (que expliquei no vídeo passado), ou seja, sem variáveis não existe programa de computador.

Então no vídeo de hoje vou explicar na prática o básico sobre variáveis em linguagem C (mas que conceitualmente serve para outras linguagens), e no próximo vídeo será a parte técnica e que eu considero necessária para conseguir progredir em programação.

Se você é realmente iniciante em programação, pode já começar a desenvolver sua fluência em ler código *mesmo* sem entender o que o código faz.

Este arquivo seguinte está escrito em linguagem C (parte de um projeto antigo meu).

https://sourceforge.net/p/rnat/code/HEAD/tree/rnat_router/rnat_router.c

É parte do netfilter (código do kernel linux que lida com os pacotes de rede) com algumas modificações que eu fiz, então não se preocupe em entender o que são todas estas coisas…

De momento somente procure no código o local aonde é criada a variável “is_rnat” (que em termos técnicos chama-se: declarar a variável), descubra qual é o tipo dela e o valor que é colocado lá dentro inicialmente, e depois procure no código a linha em que o conteúdo desta variável é alterado.

Lembre-se que o importante aqui é você se acostumar a ler o código e identificar variáveis dentro de um programa em linguagem C, e não o de entender o que o código está fazendo. Isto vem com o tempo, Ok?

Espero que o conteúdo de hoje tenha te ajudado.

Como sempre, comenta aqui em baixo o que você achou.

*** EDITADO – Atenção – Este aviso será removido em breve*** : Como vários de vocês sabem, eu tenho um curso específico sobre terminal lá no EAD do Diolinux (aliás muitos alunos começaram a acompanhar o site aqui depois de finalizar o curso lá, muito obrigado!).

Coloquei no ar recentemente aqui no site uma série gratuita pra ajudar iniciantes a dar pelo menos os primeiros passos no terminal, e quem sabe ao final da série decidir se juntar aos outros alunos lá do curso. Só pra avisar, no final vai ter um momento jabá do curso.. spoiler alert 🙂 Mas mesmo que não tenha interesse no curso  (ou mesmo se já fez o curso), assista à série, pois a gente sempre pode aprender algo novo. Fechado?

Ainda não decidi se vou deixar a série no ar.. então fica aqui o meu convite pra você assistir ao primeiro episódio, e se achar que ela é pra você, cadastre-se para receber os próximos episódios e o material que uso nas explicações.

Se você gostar do conteúdo e achar que conhece alguma pessoa que quer (ou precisa) aprender mais sobre terminal, fique à vontade para compartilhar o link com ela.

PS: se você já é cadastrado aqui no site e quiser acompanhar a série, peço que se cadastre lá também, pois não vou enviar conteúdo sobre terminal para quem está cadastrado só pra receber conteúdo de programação, certo? Eu sei que é chato ficar se cadastrando, mas no momento é o único jeito que eu tenho de entregar o conteúdo com uma certa efetividade e segmentar quem quer receber cada tipo de conteúdo (pra evitar spam), além do que sou fã de carteirinha de e-mail. Sei lá, deve ser coisa de saudosista 🙂

Abraço!