Introdução à computação

Primeiros passos...

É comum ensinar linguagens de programação pulando direto em comandos, tipos de dados, etc.  Neste curso faremos um introito diferente, gastando algum tempo com o que é a real essência de programação de computadores.

Programas podem ser escritos em diversas linguagens, para efetuar a mesma tarefa. Programas em C#, em C++, em Java, scripts em Matlab, scripts em Python, etc. São programas diferentes mas resolvem a mesma tarefa. Ou seja, existe uma comunalidade entre eles. E o que é esta comunalidade?

O que ocorre é que programas são somente a codificação de um procedimento numa dada linguagem de programação. Dado um procedimento podemos escreve-lo em Python ou em outra linguagem.

E o que é um procedimento? Bem, uma receita de cozinha é um exemplo clássico:

  1. Coloque a água para ferver
  2. Quando estiver fervendo coloque o sal, 1 colher de óleo e o macarrão
  3. Quando o macarrão estiver mole, tire do fogo e escorra a água no escorredor de macarrão
  4. Lave o macarrão
  5. Faça o molho de sua preferência em outra panela
Um procedimento é uma sequência ordenada de passos que devem ser executados na ordem dada, tem um inicio e tem um fim e efetuam uma tarefa dada. 

Entretanto procedimentos podem nem sempre terminar, seja pela natureza do problema, seja por algum defeito do procedimento. Um exemplo de tal defeito são instruções em certo shampoo para cabelos:

  1. molhe o cabelo e aplique o shampoo.
  2. enxague e repita.
 Interpretado literalmente por um robô ou computador este procedimento jamais termina (enquanto houver shampoo e água...)



Procedimentos que sempre terminam (ainda que possam demorar muito tempo executando) são chamados de algoritmos.

Nesta primeira parte do curso vamos estudar métodos para exprimir algorítmos e exercitar sua construção. Construir algorítmos é uma arte pois não existem maneiras garantidas de fazê-lo mecanicamente. Portanto a prática constante é essencial para adquirir heurísticas de solução algoritmica de problemas.

George Polya escreveu um pequeno livro maravilhoso sobre como resolver problemas, particularmente problemas matemáticos. How To Solve It. Leitura imperdível (existem versões modernas com coautores respeitáveis)


 

No comments:

Post a Comment