sexta-feira, 11 de maio de 2012

Diferença entre algoritmo e programa

Um algoritmo é, num certo sentido, um programa abstrato, dizendo de outra forma, um programa é um algoritmo concretizado. No entanto, os programas são, à exceção dos menores, visualizados mais facilmente como uma coleçã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.

Pesquisa acerca da evolução das diferentes gerações de linguagens de programação de alto nível

A evolução das linguagens de programação pode ser dividida em 5 etapas ou gerações.
  • Primeira geração: Linguagem máquina.
  • Segunda geração: Criaram-se as primeiras linguagens assembler.
  • Terceira geração: Criam-se as primeiras linguagens de alto nível. Ex: C, Pascal, Cobol…
  • Quarta geração: São linguagens capazes de gerar código por si só, são os chamados RAD, com o qual pode-se realizar aplicações sem ser um expert na linguagem. Aqui também se encontram as linguagens orientadas a objetos, tornando possível a reutilização de partes do código para outros programas. Ex: Visual, Natural Adabes…
  • Quinta geração: Aqui se encontram as linguagens orientadas à inteligência artificial. Estas linguagens ainda estão pouco desenvolvidas. Ex: LISP

As linguagens de programação costumam ser divididas, numa primeira análise, em linguagens de baixo nível e linguagens de alto nível

 Diferença entre linguagens de baixo nível e alto nível:

As linguagens de baixo nível são linguagens totalmente dependentes da máquina, ou seja, que o programa que se realiza com este tipo de linguagem não pode ser migrado ou utilizado em outras máquinas enquanto que as linguagens de alto nível são aquelas que se encontram mais próximas à linguagem natural que à linguagem máquina.Estão dirigidas a solucionar problemas mediante o uso de EDD's.

 Pesquisa acerca das seguintes linguagens:

Linguagens-máquina: esta linguagem ordena à máquina as operações fundamentais para seu funcionamento. Consiste na combinação de 0's e 1's para formar as ordens entendíveis pelo hardware da máquina.
Esta linguagem é muito mais rápida que as linguagens de alto nível.
A desvantagem é que são bastante difíceis de manejar e usar, além de ter códigos fonte enormes onde encontrar uma falha é quase impossível.

Linguagem Assembly: é um derivado da linguagem máquina e está formada por abreviaturas de letras e números chamados mnemotécnicos. Com o aparecimento desta linguagem se criaram os programas tradutores para poder passar os programas escritos em linguagem assembler a linguagem máquina. Como vantagem com respeito ao código máquina é que os códigos fontes eram mais curtos e os programas criados ocupavam menos memória. As desvantagens desta linguagem continuam sendo praticamente as mesmas que as da linguagem assembler, acrescentando a dificuldade de ter que aprender uma nova linguagem difícil de provar e manter.

Linguagem de alto nível: trata-se de linguagens independentes da arquitetura do computador. Sendo assim, à princípio, um programa escrito em uma linguagem de alto nível, pode ser migrado de uma máquina a outra sem nenhum tipo de problema. Estas linguagens permitem ao programador se esquecer completamente do funcionamento interno da máquina/s para a que está desenhando o programa. Somente necessita de um tradutor que entenda o código fonte como as características da máquina.Costumam usar tipos de dados para a programação e existem linguagens de propósito geral (qualquer tipo de aplicação) e de propósito específico (como FORTRAN para trabalhos científicos).


 













Define o conceito de Programação e Linguagens de Programação

Programação:
Programação é o planeamento de operações a serem realizadas por computadores ou outras máquinas automáticas. / Ato ou efeito de programar; estabelecimento de um programa: fazer a programação de uma estação de rádio.
Linguagem de programação:
É um método padronizado para expressar instruções para um computador. É um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador. Uma linguagem permite que um programador especifique precisamente sobre quais dados um computador vai atuar, como estes dados serão armazenados ou transmitidos e quais ações devem ser tomadas sob várias circunstâncias.