quinta-feira, 10 de maio de 2012

Introdução à Programação

Programação pode ser definida como o acto de descrever um algoritmo que resolva um problema proposto de forma aplicável.
A programação tem como principais objectivos reduzir a complexidade no desenvolvimento de software e aumentar sua produtividade. A análise, projecto e programação orientadas a objectos são as respostas para o aumento da complexidade dos ambientes computacionais que se caracterizam por sistemas heterogéneos, distribuídos em redes, em camadas e baseados em interfaces gráficas.

Uma linguagem de programação é um método padronizado para comunicar instruções para um computador. É um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador.
Permite que um programador especifique precisamente sobre quais dados um computador vai actuar, como estes dados serão armazenados ou transmitidos e quais acções devem ser tomadas sob várias circunstâncias. Linguagens de programação podem ser usadas para expressar algoritmos com precisão.



Linguagem de programação de alto nível vs baixo nível

Linguagem de programação de alto nível é uma linguagem de programação com um nível de abstracção relativamente elevado, longe do código de máquina e mais próximo à linguagem humana. Desse modo, as linguagens de alto nível não estão directamente relacionadas à arquitectura do computador. O programador de uma linguagem de alto nível não precisa conhecer características do processador, como instruções e registradores. Essas características são abstraídas na linguagem de alto nível.

Linguagem de programação de baixo nível trata-se de uma linguagem de programação que compreende as características da arquitectura do computador. Assim, utiliza somente instruções do processador, para isso é necessário conhecer os registradores da máquina. Nesse sentido, as linguagens de baixo nível estão directamente relacionadas com a arquitectura do computador.

Um programa em linguagem-máquina consiste numa sequência de números que significam uma sequência de instruções a serem executadas. É normal a representação da linguagem de máquina por meio de números constantes e variáveis em sistema binário ou sistema hexadecimal.
A linguagem-máquina, são representadas por sequências de bits, normalmente limitadas pelo número de bits do registrador principal da CPU. Esse código é chamado de código binário. São formados por 0 e 1.
As instruções correspondem a sequências muito simples de operações, como transferir um dado em memória para a CPU ou somar dois valores e são normalmente interpretadas por micro-código.

Linguagem Assembly é um tipo de programação de alto nível legível por humanos para a linguagem-máquina que um computador específico usa, utilizada para programar dispositivos computacionais, como microprocessadores e microcontroladores.
A conversão da linguagem Assembly para linguagem-máquina é feita pelo montador ou assembler, que é basicamente um tradutor de comandos, sendo mais simples que um compilador.


Gerações de linguagens de programação de alto nível

- Primeira geração - São linguagens onde suas estruturas de controle são aparentemente orientadas a máquina

- Segunda geração - São linguagens onde as estruturas de controle são estruturadas de forma a minimizar ou dispensar o uso de instruções.  A segunda geração elaborou melhor e generalizou diversas estruturas de controle das linguagens de primeira geração.

- Terceira geração - São linguagens que dão ênfase a simplicidade e eficiência. As estruturas de dados desta geração mostram um deslocamento da máquina para a aplicação. As estruturas de controle são mais simples e eficientes.

- Quarta geração - Esta geração é essencialmente um linguagem com abstracção de dados.

- Quinta geração - Nesta geração agrupa-se diversos paradigmas como a orientação a objecto e o paradigma funcional, paradigma lógico.

Programa vs Algoritmo

Um algoritmo é, num certo sentido, um programa abstracto — dizendo de outra forma, um programa é um algoritmo concretizado. No entanto, os programas são, à excepção dos menores, visualizados mais facilmente como uma colecção de algoritmos menores combinados de um modo único — da mesma forma que uma casa é construída a partir de componentes.
Dessa forma, um algoritmo é uma descrição de como um computador pode ser levado a executar uma operação simples e específica, como, por exemplo, uma ordenação. Um programa, por outro lado, é uma entidade que na verdade implementa uma ou mais operações de forma que seja útil para as pessoas.


Sem comentários:

Enviar um comentário