Programação Procedural

Programação procedural ou programação procedimental é um paradigma de programação que se baseia em procedimentos, que são executados numa sequência.

Ela é derivada da programação imperativa, mas acrescentando procedimentos (em inglês, procedure calls), de forma a organizar o código em blocos que possam ser reutilizados.

Os procedimentos, também conhecidos como rotinas, sub-rotinas, métodos, ou funções simplesmente contêm um conjunto de passos computacionais a serem executados. Um dado procedimento pode ser chamado a qualquer hora durante a execução de um programa, inclusive por outros procedimentos ou por si mesmo.

A programação procedural é geralmente uma escolha melhor que a programação sequencial e não estruturada em muitas situações que envolvem uma complexidade média e requerem facilidade de manutenção. Possíveis benefícios são a habilidade de reutilizar o mesmo código em diferentes lugares no programa sem copiá-lo, ser uma forma mais fácil de organizar o fluxo do programa que uma coleção de comandos "goto" ou "jump" (que podem transformar um programa extenso e complexo num código espaguete), e a habilidade de ser fortemente modular e 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.

O gerenciamento de escopo é outra técnica que ajuda a manter procedimentos fortemente modulares. Ela impede que o procedimento acesse variáveis de outros procedimentos (e vice-versa), incluindo instâncias anteriores de si mesmo, sem autorização explícita. Isto ajuda a impedir confusões entre variáveis com o mesmo nome sendo utilizadas em locais diferentes, e também que os procedimentos atrapalhem a execução um do outro.

Procedimentos menos modulares, frequentemente 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 bibliotecas de programação por várias pessoas ou grupos diferentes.

Comparação com a programação imperativa

A maioria das linguagens procedurais também são linguagens imperativas,[carece de fontes?] 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 programação orientada a objetos não são necessariamente procedurais.

Linguagens de programação procedural

Para ser considerada procedural, uma linguagem de programaçã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.

O exemplo canônico de uma linguagem de programação procedural é ALGOL. Uma linguagem em que a única forma de procedimento é um método é geralmente considerada orientada a objetos ao invés de procedural, e não será incluída nesta lista. Isto se aplica a C# e Java, mas não a C++.

Ver também

Referências

Ligações externas

Programação Procedural  Este artigo sobre programação de computadores é um esboço. Você pode ajudar a Wikipédia expandindo-o.

Tags:

Programação Procedural Procedimentos e modularidadeProgramação Procedural Comparação com a programação imperativaProgramação Procedural Linguagens de programação proceduralProgramação Procedural Ver tambémProgramação Procedural Ligações externasProgramação ProceduralParadigma de programaçãoProgramação imperativa

🔥 Trending searches on Wiki Português:

GoiâniaHarry PotterMatías RojasJohn Victor Maciel FurtadoMato Grosso do SulMaria da Conceição TavaresMinas GeraisShōgun (série de TV de 2024)Martinho LuteroJúlio CésarPapa FranciscoLista de campeões do Campeonato Brasileiro de FutebolAsociación Atlética Argentinos JuniorsJuan Sebastián VerónCoca-ColaLuís de CamõesLeicester City Football ClubXVideosNúmero primoGuilherme de PáduaFutebol Clube do PortoGabigolCopa Libertadores da América de 2023BíbliaClub Sportivo LuqueñoEstados dos Estados UnidosMonogamiaJosef StalinClub Atlético TalleresTwitchCristiano RonaldoPalhoçaGabriela MedeirosWolverhampton Wanderers Football ClubMulher transLeãoMitologia gregaMarcello CaetanoDeputados de Portugal no Parlamento Europeu (2019-2024)No Rancho Fundo (telenovela)The Pirate BayLista de telenovelas das seis da TV GloboGeração YBillie EilishCopa Libertadores da AméricaFernanda Paes LemeAntigo EgitoJoaquim LetriaReis (telenovela)AMBEVAmazonas Futebol ClubeBalduíno IV de JerusalémLista de presidentes dos Estados UnidosNorthrop Grumman B-2 SpiritMortes em abril de 2024Mania de Você (telenovela)Rodrigo SimasAlexandre, o GrandeSócratesO Problema dos 3 Corpos (série de TV)Caso Junko FurutaRyan GoslingGuerra do VietnãRomárioCoquimbo UnidoErling HaalandContinenteKAl-Hilal Saudi Football ClubPremier LeagueJorge KajuruBelém (Pará)Renascer (2024)Lobão (músico)MaçonariaFrida KahloDescoberta do BrasilPitágoras🡆 More