Bem vindo ao curso de Algoritmos e Programação.

O objetivo desta primeira aula é passar alguns conceitos a respeito dos algoritmos de uma maneira bem direta. Primeiramente algumas frases que definem algoritmo:

  • Solução de um problema ou realização de uma tarefa, passo a passo;
  • Instruções bem definidas ou corretamente declaradas;
  • Instruções sem ambiguidades (não pode haver duplicidade – dois ou mais sentidos na instrução);
  • Instruções executadas em um intervalo de tempo finito, ou seja, as instruções não podem entrar em lopping – uma repetição automática ou “eterna”. Como quando dizemos que estamos andando em círculos.* Já os programas são algoritmos que dizem ao computador as instruções específicas e a ordem que devem ser executadas, seguindo as regras acima descritas.

Construir algoritmos é como seguir uma receita culinária.

Os algoritmos e os computadores.

Dizem que o computador é burro, mas em compensação é bem eficiente e obediente na realização de tarefas e operações. Um algoritmo representa os passos necessários para realização destas tais tarefas e operações.

Vamos entender melhor esta relação entre os algoritmos e os computadores. Vejamos a arquitetura de um computador na imagem abaixo.

Chamamos as setas de barramento, eles fazem a ligação entre os hardwares que realizam um conjunto diferente de instruções. As instruções que o UCP (processador) executa, são buscadas na memória e algumas outras instruções são recebidas e enviadas através das interfaces de entrada e saída E/S que também utilizam memória. Tudo desenvolvido a partir linguagens que utilizam algoritmos em diferentes sintaxes.

Existe uma diferença entre essas instruções, por exemplo: o computador só entende códigos binários que também chamamos de códigos de máquinas (zeros e uns). Isso me lembra o filme MATRIX.
Essas linguagens mais próximas à arquitetura de hardware se denominam linguagens de baixo nível e as que se encontram mais próximas aos programadores e usuários se denominam linguagens de alto nível.

Nós desenvolvemos os algoritmos como linguagens de alto nível, bem mais próximas da linguagem natural, uma linguagem que nós, seres humanos, entendemos perfeitamente.

Mas como fazer com que o computador entenda nossos algoritmos? Para resolver este problema utilizamos um “tradutor”, que chamamos de compilador ou de um interpretador. Ele irá transformar a linguagem de alto nível em linguagem de baixo nível e assim o computador entenderá.

Neste curso iremos desenvolver os algoritmos em pseudocódigos – uma linguagem nativa, no nosso caso, em português, não havendo a necessidade de conhecermos a sintaxe de uma linguagem de programação e posteriormente iniciaremos a construção de jogos.

Esse pseudocódigo chama-se Portugol. Como tradutor, utilizaremos no curso o compilador VisuALG e para os jogos utilizaremos o Clickteam Fusion, ambos em suas versões gratuitas.

Se deseja se aprofundar na história dos algoritmos, aconselho a leitura do capítulo 1 do livro Algoritmos e Programação – Teoria e Prática, de Marco Medina e Cristina Fertig.

Neste curso utilizaremos alguns programas. Começaremos com dois, o VisualG e o Fusion.

Faça o download do VisualG (versão de 25/02/2017). Desenvolvido por brasileiros, o programa é bem leve e fácil de instalar. Ao descompactar o arquivo, você terá acesso ao programa, informações sobre a interface, comandos e exemplos de algoritmos em Portugol.

Aproveite e faça também o download do Clickteam Fusion 2.5 – Um programa para criação de jogos onde todos os comandos podem ser desenvolvidos a partir de cliques com o mouse. Assim que você for se familiarizando com os algoritmos utilizaremos o Clickteam Fusion 2.5 neste curso.

Vamos para próxima aula. Clique aqui.