dcsimg

A Ciência da Computação e os Algoritmos

Saiba a origem e influência dos famosos algoritmos que são a base do desenvolvimento dos complexos programas computacionais. Entenda com conceitos simples como é o funcionamento dos programas, e como é feita tal metodologia de comandos.

A Origem do termo Algoritmo

Matemático Al Khwarizmi

Há uma divergência da origem real do termo algoritmo. Historiadores afirmam que o mesmo é datado do século IX, e teria sido assim batizado de acordo com uma das obras de um matemático de origem persa. Tal obra descrevia o sistema de numeração decimal indiano com certos algoritmos. Porém, há também relatos da possibilidade da origem ser derivada da palavra Al-goreten, que tem por definição um conceito na propriedade de cálculos matemáticos.
Fonte: quranandscience.com

Os algoritmos e a receita de bolo

Este, com certeza, é o passo inicial ao jovem aspirante ao curso de ciência da computação. A base de todos os programas de computador se reflete nos algoritmos, conhecidos como rotinas. Os algoritmos são os passos a serem seguidos formatados de maneira sugestiva a ordem de execução e baseado em um conjunto de ações, estas que podem ser automáticas (conjunto estático de passos), ou dinâmico (pode haver interação com meio externo).

De maneira simples, é possível descrever o algoritmo como uma receita de bolo. É isto mesmo, basta seguir os passos da receita para ter o resultado desejado. Segue o exemplo abaixo:

Algoritmo (Receita) de Bolo:

  • 1 xícara de chá de farinha de trigo
  • 1 colher de sopa de fermento em pó
  • 1 xícara de chá de leite
  • 1 xícara de chá de óleo
  • 2 ovos
  • Misture tudo e coloque para assar.

Algoritmo Conta até 10:

  1. Variável inteira contador;
  2. Para contador = 1 até 10 faça
    1. Imprima na tela (contador);
    2. contador = contador + 1;
  3. Fim

Algoritmo C

Obviamente, a receita de bolo é intuitiva, e muitas vezes não é detalhada o passo a passo de cada etapa, a não ser que a ordem de mistura dos ingredientes seja imprescindível. Já no algoritmo contador, é imprescindível a ordem das tarefas para que o programa tenha o resultado desejado. Este exemplo foi elaborado para ressaltar a necessidade de uma metodologia sistemática, para haver um padrão na programação.

É interessante ressaltar as semelhanças na metodologia dos algoritmos. Os ingredientes da receita poderiam ser descritos como as variáveis do programa, tais variáveis que receberiam o valor determinante a quantidade de cada produto a ser adicionado para formar o bolo. A última linha deste algoritmo seria a finalização do algoritmo, fazendo a mistura (ou soma) dos ingredientes e efetuando a operação (ou função) de assar.

O algoritmo “Conta até 10” teria como base a variável (contador) que efetuaria a soma (+1) até chegar ao número 10. Esse algoritmo conta com uma estrutura de laço (ou loop) que efetua uma operação por diversas vezes até que uma condição seja estabelecida. No caso, enquanto a variável contador não tiver o valor igual a 10, os dois itens abaixo (2.1 e 2.2) devem ser executados. Após a condição estabelecida, o programa finaliza.

Mas o que difere então tais algoritmos? Basicamente nada! Porém, existe uma infinidade de linguagens de programação no mercado, para que tais algoritmos se transformem em programas, é necessário conhecer os comandos (sintaxe) de cada linguagem, para que o algoritmo em “português estruturado” (do exemplo) seja transformado em um algoritmo de linguagem computacional desejada.

É interessante ressaltar que os computadores possuem uma forma binária de interpretação dos dados, desta forma, existe os compiladores (ou tradutores) que transformam os algoritmos das linguagens computacionais em algoritmos de “linguagem de máquina”.

Os programas de computador e o curso de Ciência da Computação

Os passos iniciais do curso de ciência da computação são a introdução aos algoritmos e a programação. Tal introdução é aliada a forte base matemática, para auxiliar no desenvolvimento do raciocínio lógico do futuro profissional de computação. As áreas nesta profissão são diversas, porém, iremos focar inicialmente a programação pois sua necessidade é imprescindível.

Basicamente os programas possuem um conjunto de tarefas, e tais tarefas podem ser divididas em conjuntos. Desta forma, caso deseje repetir uma tarefa diversas vezes, é possível solicitar que seja executado tal conjunto, poupando a necessidade de re-escrever todo o conjunto de tarefa novamente. Segue abaixo um exemplo:

Algoritmo Principal

  1. Variável Cadeia de Caracter nome;
  2. Variável Inteiro resultado;
  3. Ler do teclado (nome);
  4. resultado = Procura na Base de Dados (nome);
  5. imprime na tela (resultado);
  6. Fim

Algoritmo usando Função

No algoritmo acima, repare na linha 4: uma variável (resultado) vai ser igual ao retorno de um conjunto de operações chamado “Procura na Base de Dados“, e esta vai receber como entrada a variável nome. Pode parecer confuso pela metodologia do exemplo, porém é bem simples. Pense em um sistema de busca de nomes. Será requisitado um nome para busca e após digitado, o nome será pesquisado afim de verificar sua existência. Caso haja o registro, será informado a veracidade (1 = achou) do item cadastrado, ou não (0 = não achou, ou erro). Assim o resultado é informado na tela do computador. Caso tal programa expanda, é interessante separar as tarefas ou operações em conjuntos. Tais conjuntos são chamados, didaticamente, de funções na linguagem estruturada.

De forma sucinta, os programas são apenas um conjunto de tarefas que possuem sinergia em sua execução. Não há mistérios. É necessário que o aluno de ciência da computação (ou programador) domine a linguagem onde deseje criar o programa. Todo o processo de criação é baseado em uma metodologia de execução de etapas, tais etapas que são definidas ao computador. Em suma, o programador comanda, o computador executa.

As Linguagens de Programação e a Ciência da Computação

Para ser criado um programa, é necessário a escolha de uma linguagem de programação. Tal linguagem é utilizada pelo compilador, para sinalizar o computador em uma linguagem nativa a este (linguagem de máquina). Existe uma série de outros conceitos nesta etapa que podem parecer confusos ao jovem aspirante a ciência da computação. De qualquer forma, pense no compilador como um tradutor, que fará uma ponte entre o programador e o computador. Desta forma, ambos podem interagir, havendo entendimento na troca de informações.

As linguagens de programação são como os idiomas. Cada linguagem de programação possui sua própria sintaxe e semântica. Porém, a linguagem de programação também possui uma proposta. Assim, o programador pode escolher qual linguagem deseja interagir com o computador, afim de desenvolver o programa. Cada linguagem possui um propósito, como citado acima, tal propósito pode ser pela plataforma a ser utilizada, pela facilidade de recursos em determinado desenvolvimento, pela desempenho, entre outros.

A seguir, segue uma lista de linguagens de programação mais conhecidas:

  • Assembly (Assembler)
  • Fortran
  • Pascal
  • Cobol
  • C, C++, C#
  • Java
  • PHP, JSP, JSF
  • Entre muitas outras.

Para os aspirantes ao curso de Ciência da Computação sempre há algumas considerações iniciais sobre o curso. É necessário alguma aptidão inicial? Ter afinidade por computadores é suficiente? Não se preocupe, a graduação em ciência da computação possui uma grade completa afim de propiciar o desenvolvimento do futuro profissional de computação.

Compartilhar
Facebook Twitter Google Linkedin