You are on page 1of 4

Classificao das Linguagens de

Programao Estruturadas
Philipe Diego Araujo da Silva

03027611

Linguagens de Programao
Assim como nos seres humanos, um computador precisa ser ensinado antes de realizar tais tarefas. Por
exemplo, antes de realizar uma operao matemtica simples deve ser inserido na sua memria um modelo
que represente, passo a passo, como esta operao ser realizada, ou seja, como ele receber estes dados,
onde eles sero armazenados, como e qual operao matemtica ser realizada com estes dados, para quais
valores de dados esta operao ser vlida e, para finalizar, como o resultado desta operao ser
armazenado e/ou apresentado ao usurio. Este modelo tambm conhecido como programa de computador,
cdigo computacional, ou simplesmente programa e consiste em um conjunto de instrues elaboradas por um
programador que resulte na realizao de uma tarefa.
A elaborao, implementao e execuo de um programa de computador pode ser um processo
bastante complexo e requer profissionais especializados com bons conhecimentos sobre as formas que um
computador opera, bem como das linguagens de programao que permitem que componha os programas
de computadores. Tambm necessrio o conhecimento e a familiaridade com uma plataforma de
desenvolvimento de programas em uma linguagem de programao [1].
Linguagens de programao so usadas para descrever algoritmos; isto , sequncias de passos que
levam soluo de um problema. Uma linguagem de programao precisa suportar a definio de aes e
prover meios para especificar operaes bsicas de computao, alm de permitir que os usurios
especifiquem como estes passos devem ser sequenciados para resolver um problema. Uma linguagem de
programao pode ser considerada como sendo uma notao que pode ser usada para especificar
algoritmos com preciso [2].

Classificao das linguagens de programao


As Linguagens de programao podem ser de Baixo Nvel ou de Alto Nvel. As linguagens mais prximas
arquitetura hardware se denominam linguagens de baixo nvel e as que se encontram mais prximas aos
programadores e usurios se denominam linguagens de alto nvel.

Linguagens de Baixo Nvel


So linguagens totalmente dependentes da mquina, ou seja, que o programa que se realiza com este
tipo de linguagem no pode ser migrado ou utilizado em outras mquinas.
As de baixo nvel so separada por 2 geraes:

Primeira Gerao: A linguagem de primeira gerao, ou 1GL, o cdigo de mquina. a nica


linguagem que um microprocessador pode entender nativamente. O cdigo de mquina no pode
ser escrito ou lido por um editor de texto, e portanto raramente usado por uma pessoa diretamente.

Segunda Gerao: A linguagem de segunda gerao, ou 2GL, a linguagem Assembly. considerada


de segunda gerao, pois embora no seja uma linguagem nativa do microprocessador, um
programador que use a linguagem Assembly ainda deve compreender as caractersticas da
arquitetura do microprocessador.

Linguagens de Alto Nvel

Terceira Gerao: Uma linguagem de terceira gerao (3GL, em ingls) uma linguagem de
programao projetada para ser facilmente entendida pelo ser humano, incluindo coisas como
variveis com nomes. Um exemplo disso seria:
COMPUTE COMISSAO = VENDA * 0,5
Fortran, ALGOL e COBOL so algumas das primeiras linguagens desse tipo. A maioria das linguagens

"modernas" (BASIC, C, C++) so de terceira gerao. As maiorias das linguagens de terceira gerao suportam
programao estruturada.

Quarta Gerao: A principal diferena entre as de terceira gerao e a quarta gerao, que estas
primeiras so linguagens procedurais que descrevem como fazer algo, enquanto a 4GL descreve o que
voc quer que seja feito.

Quinta Gerao: Linguagens voltadas a Inteligncia artificial como as linguagens lgicas (Prolog) e as
linguagens funcionais (Lisp). Estas linguagens ainda esto pouco desenvolvidas

[3].

Linguagens estruturadas (Terceira Gerao)


Nesta classe, encaixam-se as chamadas linguagens de programao de alto nvel surgidas em meados
dos anos 60. As linguagens concebidas neste perodo foram resultado da necessidade da produo de cdigo
de programa de forma clara, aparecendo o conceito de estruturao do cdigo (endentao, utilizao de
letras maisculas e minsculas nos identificadores, eliminao de instrues problemticas como o go to,
etc...)[4].
O perodo compreendido entre a dcada de 60 e a de 80 foi bastante produtivo no que diz respeito ao
surgimento de linguagens de programao, o que permitiu o aparecimento de uma grande quantidade de
linguagens as quais podem ser classificadas da seguinte forma:

1) Estruturas bsicas de controle: sequncia, condio e repetio.


So formas de raciocnio intuitivamente bvias. A legibilidade e compreenso de cada bloco de
cdigo na soluo enormemente incrementada, proibindo o uso irrestrito de comandos de desvio
incondicional (GOTO).

2) Subprogramao (ou modularizao).


medida que os programas vo se tornando maiores e mais complexos, possvel simplificar e
melhorar a clareza dividindo o programa em partes menores, chamadas subprogramas.
Um subprograma, um nome dado a um trecho de um programa mais complexo e que, em geral,
encerra em si prprio um pedao da soluo de um problema maior (o programa a que ele est subordinado).
So sinnimos usados na engenharia de software para o conceito de subprograma: procedimento, funo,
mdulo (estrutura modular), mtodos (orientao a objetos) e subrotina.

Na programao estruturada o "mtodo dos refinamentos sucessivos" uma "sistemtica" de


abordagem til no projeto detalhado e na implementao de softwares. Partindo-se de um dado problema,
para qual se deseja encontrar um programa de soluo, deve-se procurar subdividi-lo em problemas menores e
consequentemente de soluo mais simples (dividir para conquistar). Alguns destes problemas menores
(subproblemas) tero soluo imediata (na forma de um subprograma) e outros no. Os subproblemas para os
quais no for possvel encontrar uma soluo direta devem ser novamente subdivididos. Assim, o processo
repetido at que se consiga encontrar um subprograma para solucionar cada um dos subproblemas definidos.
Ento, o programa de soluo do problema original ser composto pela justaposio dos subprogramas usados
para solucionar cada um dos subproblemas em que o problema original foi decomposto.
Com a subdiviso de programas complexos algumas vantagens so conquistadas:
A.

Cada parte menor tem um cdigo mais simples;

B.

Facilita o entendimento uma vez que os subprogramas podem ser analisados como partes
independentes (legibilidade);

C.

Cdigos menores so mais facilmente modificveis para satisfazer novos requisitos do usurio e para
correo de erros (manutenibilidade);

D.

Simplificao da documentao de sistemas;

E.

Desenvolvimento de software por equipes de programadores;

F.

Reutilizao de subprogramas atravs de bibliotecas de subprogramas, na linguagem C, sob a forma


dos arquivos de cabealhos (.h).
A principal questo a "reutilizao de software" objetivando a economia de tempo e trabalho

(benefcios tcnicos que trazem vantagens financeiras). Um conjunto de subprogramas destinado a solucionar
uma srie de tarefas bastante corriqueiras desenvolvido e vai sendo aumentado com o passar do tempo, com
o acrscimo de novos subprogramas. A este conjunto d-se o nome de biblioteca. No desenvolvimento de
novos sistemas, procura-se ao mximo basear sua concepo em subprogramas j existentes na biblioteca, de
modo que a quantidade de software realmente novo que deve ser desenvolvido minimizada.

3) Tipos Abstratos de Dados.


Segundo o Prof. Nivio Ziviani, um Tipo Abstrato de Dados (TAD) pode ser visto como um modelo
matemtico, acompanhado das operaes definidas sobre o modelo. O conjunto dos inteiros acompanhado
das operaes de adio, subtrao e multiplicao forma um exemplo de um TAD.
Ainda segundo Ziviani, os TAD podem ser considerados generalizaes de tipos primitivos de dados, da
mesma forma que procedimentos so generalizaes de operaes primitivas tais como adio, subtrao e
multiplicao. Assim como um procedimento usado para encapsular partes de um programa, o tipo abstrato
de dados pode ser usado para encapsular tipos de dados.
Neste caso a definio do tipo de dados e todas as operaes definidas sobre ele podem ser
localizadas em uma nica seo do programa (na Linguagem C, por exemplo, em um arquivo de
cabealhos)[5].

Concluso
Em resumo as principais caractersticas da linguagem Estruturada so:

Decomposio gradativa dos programas ao nvel fundamental (mtodo dos refinamentos sucessivos,
desenvolvimento top-down).

Programao

orientada

procedimentos: subprogramas

= blocos

estruturados

de

cdigos

(procedimentos, funes ou mdulos); a comunicao entre os blocos se faz utilizando variveis globais
e pela passagem de dados atravs de parmetros; os dados so processados nos blocos e migram de
um bloco para outro, como mostra a Figura 1, atravs de variveis globais, parmetros passados por
referncia e expresso retornada pela funo (atravs do comando return na linguagem C); a
execuo de um programa caracterizada pelo acionamento de um bloco de cdigo. Obs.: a
utilizao de variveis globais no constitui uma boa prtica de programao (escopo muito grande).

Tipo abstrato de dados = modelo matemtico + operaes.

Referncias Bibliogrficas
[1]

Ricardo

Veras.

Linguagem

de

programao

estruturada.

So

Paulo/UNIP

Disponivel

em:

http://profrveras.xpg.uol.com.br. Acesso em 03/2015


[2] Luiz Marcos Garcia Gonalves. Algoritmo e lgica de programao (conceitos de linguagens de
programao). Natal/UFRN. Disponvel em: http://www.dca.ufrn.br/~lmarcos. Acesso em 03/2015
[3]

Sergio

de

Oliveira

Evangelista.

Linguagem

de

Programao.

Disponvel

em:

http://diariodaprogramacao.blogspot.com.br. Acesso em 03/2015


[4]

Roberto

Willrich.

Introduo

linguagens

de

programao.

Florianpolis/UFSC.

Disponvel

em:

http://www.inf.ufsc.br/~willrich/Ensino/INE5602/. Acesso em 03/2015


[5]

Omero

Francisco

Bertol. Introduo

programao

estruturada.

Curitiba/UTFPR. Disponvel em:

http://www.devmedia.com.br/introducao-a-programacao-estruturada. Acesso em 03/2015

You might also like