você está aqui: Home  → Coluna do Cesar Brod


De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.

Educação e Tecnologia - 3, Todos somos programadores

Por Cesar Brod

Data de Publicação: 30 de Agosto de 2006

Com freqüência ouço pessoas dizerem que jamais aprenderiam a programar. Mesmo pessoas que passaram por cursos voltados à programação em suas escolas e universidades não se sentem à vontade para programar. Acho que, da mesma forma que aprender a falar em uma outra língua, aprender a programar é uma questão de lidar com nossos bloqueios. Por muitos anos a tecnologia e em especial os computadores eram acessíveis apenas a poucos iniciados. Em filmes e seriados que assistíamos o "cara do computador" era sempre um gênio. Parecia que para conhecer de verdade e saber lidar com computadores o tipo de inteligência necessária não estava ao alcance de todos.

Quando alguém me diz que não sabe programar, primeiro desconverso, mudo de assunto. Depois, peço para que este alguém me explique onde mora, qual o trajeto devo fazer para chegar à sua casa. Ou então pergunto sobre o que estamos comendo, peço que a pessoa me explique sobre alguma comida que goste de fazer. Descrever um caminho de um lugar a outro ou a forma como se cozinha qualquer coisa é programar. Pouca gente se dá conta disto.

Em meu primeiro artigo sobre Educação e Tecnologia para o Dicas-L mencionei uma palestra que eu ministrava, chamada "Todos Somos Programadores". A palestra começava exatamente como este artigo. Em seguida, eu exercitava com os ouvintes a forma pela qual conjugamos verbos regulares, chegando a um programa em Python que era desenvolvido em conjunto para fazer esta tarefa. Já até antevejo alguns comentários para este artigo: "Pronto! Agora ele vai fazer propaganda do Python! Este cara não se decide mesmo!"

O legal era sempre, ao final desta palestra de uma hora, ouvir os comentários de pessoas que nunca haviam programado antes, confirmando que realmente não há grandes mistérios para se escrever um programa. Claro que assim como há escritores melhores que outros, músicos melhores que outros, há programadores melhores que outros. O que não devemos fazer é considerar a arte de programar mais difícil do que qualquer outra arte. Todas as artes e ofícios estão no mesmo nível, basta ter vontade para aprender e alguma dedicação.

Curioso sobre o programa? Aqui está ele:

# Programando em Python
# Exemplo 3 - Cesar Brod
#
# modulo_conjuga.py
# 
# Módulo que conjuga verbos regulares em Português
# versão 0.0 05102005 2017
#
def conjuga(verbo):
    "Conjuga o tempo presente de verbos regulares"
    conjugado=[]
    conjuga_ar = ['o','as','a','amos','ais','am']
    conjuga_er = ['o','es','e','emos','eis','em']
    conjuga_ir = ['o','es','e','imos','is','em']
    termina_em = verbo[-2:]
    if termina_em == 'ar':
        for terminacao in conjuga_ar:
            conjugado.append(verbo[:-2]+terminacao)
    elif termina_em == 'er':
        for terminacao in conjuga_er:
            conjugado.append(verbo[:-2]+terminacao)
    elif termina_em == 'ir':
        for terminacao in conjuga_ir:
            conjugado.append(verbo[:-2]+terminacao)
    else:
        print 'Tem certeza que '+verbo+' é um verbo regular?'
    return conjugado

As linhas precedidas de "#" são comentários, servem para documentar o programa - o computador não faz nada com elas. As linhas seguintes "ensinam" ao computador que ele deve verificar a terminação do verbo em "ar", "er" ou "ir" e substituir esta terminação pela da respectiva conjugação. Assim, o verbo "amar" é conjugado da seguinte forma:

Verbo "amar"

Na linha:

if termina_em == 'ar':

O programa passa a saber que as terminações para o verbo "amar" são:

conjuga_ar = ['o','as','a','amos','ais','am']

Em:

for terminacao in conjuga_ar:
            conjugado.append(verbo[:-2]+terminacao)

O que o programa faz é pegar o verbo "amar" sem as duas últimas letras - verbo[:-2] - e acrescentar a terminação que ele obtém da lista conjuga_ar.

O resultado é:

amo, amas, ama, amamos, amais, amam

O conhecimento que utilizei para criar este programa é encontrado em muitos livros de gramática e ensinado por nossos professores nos primeiros anos de escola. De forma similar, mesmo os programas mais complexos são construídos a partir de uma base que é o conjunto do conhecimento humano. Então, da próxima vez em que alguém lhe perguntar se você sabe programar, pode responder que sim! Inclusive que programa em Python, uma linguagem que a NASA também utiliza!

Sobre o autor

Cesar Brod usa Linux desde antes do kernel atingir a versão 1.0. Dissemina o uso (e usa) métodos ágeis antes deles ganharem esse nome. Ainda assim, não está extinto! Escritor, consultor, pai e avô, tem como seu princípio fundamental a liberdade ampla, total e irrestrita, em especial a do conhecimento.

Mais sobre o Cesar Brod: [ Linkedin ] | [ Twitter ] | [ Tumblr ].

Veja a relação completa dos artigos de Cesar Brod