Programação procedural: diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
TXiKiBoT (discussão | contribs)
m Bot: Modificando: sv:Procedurell programmering
Xqbot (discussão | contribs)
m Bot: Modificando: fa:برنامه‌نویسی رویه‌ای; mudanças triviais
Linha 7:
* A habilidade de ser fortemente modular e [[Programação estruturada|estruturado]].
 
== Procedimentos e Modularidade ==
A [[Modularidade]] é uma característica geralmente desejável, especialmente em programas grandes e complicados. Ela pode ser alcançada com a utilização de procedimentos com canais de entrada e saída estritamente definidos, usualmente acompanhados de regras claras sobre quais tipos de entrada e saída são permitidos ou esperados. As entradas costumam ser especificadas sintaticamente na forma de ''argumentos'', e as saídas entregues na forma de ''valores de retorno''.
 
Linha 14:
Procedimentos menos modulares, freqüentemente utilizados em programas pequenos ou escritos rapidamente, tendem a interagir com um grande número de variáveis no ambiente de execução, que também podem ser modificadas por outros procedimentos. O fato de que muitas variáveis agem como pontos de contato entre as várias partes do programa é o que o torna menos modular.
 
Por causa da habilidade de especificar uma interface simples, de serem auto-contidos, e de serem reutilizados, procedimentos facilitam a criação de programas ou [[Biblioteca (Computação) | bibliotecas de programação]] por várias pessoas ou grupos diferentes.
 
(Ver [[Módulo (programação)]] e [[Pacote de Software]].)
 
== Comparação com a Programação Imperativa ==
Todas (ou pelo menos a maioria) das linguagens procedurais também são linguagens imperativas, pois fazem referências explícitas ao estado do ambiente de execução. Isto pode significar desde variáveis (que podem corresponder aos registradores do processador) a algo como a posição da "tartaruga" na linguagem de programação Logo (que por sua vez pode ser desde um cursor na tela a um dispositivo físico que se move no chão de uma sala).
 
Algumas formas de programação imperativa, como a [[Orientação a objetos | programação orientada a objetos]] não são necessariamente procedurais.
 
== Linguagens de Programação Procedural ==
Para ser considerada procedural, uma linguagem de progamação deve suportar o conceito de procedimentos, e possuir uma sintaxe para defini-los. Idealmente, ela deve suportar a especificação de tipos de argumentos, variáveis locais, chamadas recursivas e o uso de procedimentos em módulos distintos de um programa. Ela também pode suportar a distinção entre argumentos de entrada e de saída.
 
Linha 61:
* [[Visual Basic]]
 
== Veja também ==
* [[Programação funcional]]
* [[Programação imperativa]]
Linha 69:
* [[Programação estruturada]]
 
== {{Ligações externas}} ==
* [http://dmoz.org/Computers/Programming/Languages/Procedural/ Open Directory: Programming: Languages: Procedural]
 
Linha 80:
[[el:Δομημένος προγραμματισμός]]
[[en:Procedural programming]]
[[fa:برنامه‌نویسی پروسه‌ایرویه‌ای]]
[[fi:Proseduraalinen ohjelmointi]]
[[fr:Programmation procédurale]]