Algoritmos e programação

O que o funcionamento de um computador e uma receita de bolo têm em comum? A resposta para esta pergunta é mais simples do que parece: basta seguir as instruções, conhecidas como algoritmo. O aprendizado de algoritmos ajuda na qualidade de novas aprendizagens, prepara para compreender e desenvolver novas tecnologias na vida profissional e até mesmo no dia a dia, pois o raciocínio lógico empregado permite abordar problemas com maior clareza (veja mais sobre raciocínio lógico clicando no link).

Tirinha do site Humor com Ciência(http://www.humorcomciencia.com/2010/07/58-matematica.html).

Tirinha do site Humor com Ciência.

Uma definição mais formal de algoritmo é uma sequência finita de instruções bem definidas e não ambíguas, cada uma das quais pode ser executada mecanicamente num período de tempo e com uma quantidade de esforço visando a conclusão de uma tarefa. Geralmente utilizamos algoritmos de forma intuitiva e automática diariamente quando executa tarefas comuns. Veja esse exemplo de um algoritmo para trocar uma lâmpada e a quantidade de ações que executamos inconscientemente (retirado do site Tecmundo):

Início
 Verifica se o interruptor está desligado;
 Procura uma lâmpada nova;
 Pega uma escada;
 Leva a escada até o local;
 Posiciona a escada;
 Sobe os degraus;
 Para na altura apropriada;
 Retira a lâmpada queimada;
 Coloca a lâmpada nova;
 Desce da escada;
 Aciona o interruptor;
   Se a lâmpada não acender, então:
     Retira a lâmpada queimada;
     Coloca outra lâmpada nova
   Senão
     Tarefa terminada;
 Joga a lâmpada queimada no lixo;
 Guarda a escada;
Fim

Na programação de computadores, frequentemente há diversos algoritmos para cumprir alguma tarefa, e cada um tem vantagens e desvantagens em situações diferentes. A matemática possui diversas ferramentas para resolver problemas. A teoria dos grafos é um ramo da matemática que estuda as relações entre os objetos de um determinado conjunto. Veja nesse link algumas vídeo aulas apresentando alguns problemas históricos práticos, discutidos e resolvidos através dessas ferramentas matemáticas e que hoje possuem aplicações em diferentes áreas do conhecimento: Fundamentos de algoritmos para computação (Fundação CECIERJ/Consórcio CEDERJ).

Exemplos de linguagens de programação (e como elas vistas pelos fãs de outras linguagens). Fonte: Ruby inside(http://www.rubyinside.com/holiday-fun-how-programming-language-fanboys-see-each-others-languages-2911.html).

Exemplos de linguagens de programação (e como elas vistas pelos fãs de outras linguagens). Fonte: Ruby inside.

A sequência escrita no exemplo da troca da lâmpada estava em descrição narrativa, por exemplo. Esta forma não é muito utilizada em informática porque pode ser ambígua e dar margem a interpretações erradas. Assim, deve ser utilizada uma linguagem de programação, que é um método padronizado para comunicar instruções para um computador. Um programa de computador (software) é definido através de um conjunto de regras sintáticas e semânticas contidas nessa linguagem. O conjunto de palavras escritas (linguagem de alto nível), composto de acordo com essas regras, constitui o código fonte de um software. Esse código fonte é depois traduzido para código de máquina (linguagem binária), que é executado pelo processador.

Existem dois tipos de linguagens de programação: as de baixo nível e as de alto nível. Os computadores interpretam tudo como números em base binária, ou seja, só entendem zero e um, porém é muito difícil e incômodo se trabalhar com elas. Essa é a linguagem de baixo nível, sendo um exemplo o Assembly. A linguagem de alto nível representa as ações com palavras de ordem, geralmente no inglês, facilitando a escrita do algoritmo para o computador. Elas não são interpretadas diretamente pelo computador, sendo necessário traduzí-las para linguagem binária utilizando-se de um programa chamado compilador. Veja no site da TIOBE Software um ranking das linguagens de programação mais utilizadas no mundo.

Exemplos de linguagens de programação utilizadas para um mesmo trabalho. Fonte: Learnpact(http://blog.learnpact.com/best-programming-language-to-get-a-job/).

Exemplos de linguagens de programação utilizadas para um mesmo trabalho. Fonte: Learnpact.

Um bom lugar para começar a aprender programação de graça, de modo interativo e em diferentes linguagem é o site da Code Academy. Um diferencial é que esse site está disponível em português.

Veja esse episódio do Mundo de Beakman explicando como funciona um vídeo game e como programar um jogo simples:

Agora divirta-se com esse joguinho (programado em Flash), cujo objetivo é fazer o robô ir até o quadrado azul e acender a lâmpada. Porém, para realizar a ação, você deverá dizer todos os passos que o robô deverá executar, ou seja, programá-lo. Selecione no menu as opções de seguir em frente, virar à direita, virar à esquerda, ligar a lâmpada, etc, e “rode” o programa (clique em Go!). (Obs: para começar a jogar, clique em play, new game e aperte a barra de espaço no teclado)

Compartilhe o link desse texto, mas se for copiar algum trecho, cite a fonte. Valorize nosso trabalho.
Mais informações na licença de uso do site.

3 Pingbacks/Trackbacks