segunda-feira, 9 de fevereiro de 2015

0.0.0.3 - Um pouco de teoria

Na minha opinião, o teorema mais importante para esta disciplina é o da Programação Estruturada, ou Teorema de Böhm e Jacopini. Nele demonstra-se matematicamente que qualquer função computável pode ser computada por uma máquina (e com uma linguagem) capaz de:
  1. Executar sub-programas sequencialmente;
  2. Selecionar, de acordo com uma expressão booleana qual de dois sub-programas executar;
  3. Repetir a execução de um sub-programa até que uma expressão booleana seja verdadeira;
Consequentemente também é verdade que:

  • Linguagens que permitem computar qualquer função computável precisam implementar "só" execução sequencial, comandos de seleção, comandos de repetição e avaliação de expressões booleanas.
  • Linguagens que não tem isso implementado de forma alguma não computam qualquer função.

Consequentemente, as especificações atuais (2015) de

  • Java, C, C++, Fortran, Cobol, PHP, JavaScript permitem usar toda a capacidade dos computadores e são equivalentes. 
  • HTML, XML e outras usadas para estruturar texto não o permitem.

(e por isso, em aulas de programação, quando perguntam se sabemos alguma linguagem há quem ria quando dizemos que sabemos HTML...)

As próximas aulas serão usadas para mostrar como esses comandos são implementados em Java.


Nenhum comentário:

Postar um comentário