Diferenzas entre revisións de «Programación»

Saltar ata a navegación Saltar á procura
m
bot Modificado: mn:Програмчлал; cambios estética
m (bot Engadido: sr:Програмирање)
m (bot Modificado: mn:Програмчлал; cambios estética)
[[Software]] é o sustantivo que denomina ós programas e datos da [[computadora]].
 
== Programas e algoritmos ==
 
Un [[algoritmo]] é unha secuencia non ambigua, finita e ordeada de instruccións que han de seguirse para resolver un problema. Un programa normalmente implementa (traduce a unha linguaxe de programación concreto) un algoritmo. Pode haber programas que non se axusten a un algoritmo (poden non terminar nunca), nese caso denominase procedemento a tal programa.
Os programas solen subdividirse en partes menores (módulos), de modo que a complexidade algorítmica de cada unha das partes sexa menor que a do programa completo. Esto axuda ó desenvolvemento do programa.
 
Según [[Niklaus Wirth]] un programa está formado por [[algoritmo|algoritmos]]s y [[estrutura de datos]].
 
O obxectivo das diversas técnicas de programación propostas é mellorar tanto o proceso de creación de software como o seu mantemento. Entre elas pódense mencionar as programacions [[programación lineal|lineal]], [[programación estruturada|estruturada]], [[programación modular|modular]] y [[programación orientada a obxectos|orientada a obxectos]].
 
== Compilación ==
 
O programa escrito nunha [[linguaxe de programación]] (comprensible polo home, ainda que solen corresponder con linguaxes formais descritos por gramáticas independentes do contexto) non é inmediatamente executable nun ordenador. A opción máis común é [compilación|compilar]] o programa, ainda que tamén pode ser executado mendiante un [[intérprete informático]]
Un programa podería ter partes escritas en varios linguaxes, que se poderían compilar de forma independente e enlazar xuntas para formar un único [[executable]], ainda que non é unha práctica habitual.
 
== Programación e [[enxeñería do software]] ==
 
Existe unha tendencia a indentifica-lo proceso de creación dun programa informático coa programación, que é certa cando se trata de programas pequenos para uso persoal, e que dista da realidade cando se trata de grades proxectos.
 
O proceso de creación de software dende o punto de vista da Enxeñería ten os seguintes pasos:
# Recoñece-la necesidade dun programa para solucionar un problema ou identifica-la posibilidade de automatización dunha tarefa.
# Recolle-los requisitos do programa. Debe quedar claro que é o que debe face-lo programa e para que se necesita.
# Realiza-lo anaálisis dos requisitos do programa. Debe quedar claro como debe realiza-lo programa as cousas que debe facer. As probas que comproben a validez do programa pódense especificar nesta fase.
# Diseña-la arquitectura do programa. Debese descompoñe-lo programa en partes de complexidade abordable.
# Implementa-lo programa. Consiste en realizar un deseño detallado, especificando completamente todo o funcionamento do programa. Despois disto a codificiación debería resultar inmediata.
# Implantar (instalar) o programa. Consiste en poñe-lo programa en funcionamento xunto cos compoñentes que poden necesitar (bases de datos, redes de comunicaciones, etc.)
 
A enxeñería do software centrase nos pasos de planificación e deseño do programa, mentres que antigamente (programación artesanal) a realización dun programa consistia unicamente en escribi-lo código.
 
== Referencias históricas ==
A primeira programadora de computadora coñecida foi [[Ada Lovelace]], filla de Anabella e [[Lord Byron]]. Anabella introduciu nas matemáticas a Ada, quen despois de coñecer a [[Charles Babbage]] traduciu e ampliou unha descripción da sua máquina analítica. Ainda que Babbage nunca completou a construción de ningunha das súas máquinas, o traballo que Ada realizou con elas fixolle gaña-lo título de primeira programadora de computadoras do mundo. O nome da [[linguaxe de programación Ada]] foi escollido como homenaxe a esta programadora.
 
== Obxetivos da programación ==
 
A programación de ordenadores debe perseguir tres obxectivos fundamentais:
 
* Corrección: Un programa é correcto se fai o que debe facer. Para determinar se un programa fai o que debe facer é moi importante especificar claramente que debe face-lo programa antes de desenrolalo e unha vez rematado comparalo co que realmente faa.
 
* Claridade: É moi importante que o programa sexa o máis claro e lexigle posible para mellora-lo mantemento do software. Cando se acaba de escribi-lo código de programa, débense busca-los erros e corrixilos. Máis concretamente, cando o programa está rematado, é necesario facerlle ampliacións ou modificacións, segundo a demanda dos usuarios, esta laboura pode ser levada a cabo polo mesmo [[programador]] que implementou o programa ou por outros.
 
* Eficiencia: Debe consumir a menor cantidade posible de recursos. Normalemente ó falar de eficiencia soese facer referencia ó consumo de tempo e/ou memoria.
 
A eficiencia e a claridade dun programa pode ser obxectivos contrapostos: pódese conseguir maior claridade sacrificando parte da eficiencia ou viceversa. Pero hai que ter en conta que o tempo do programador é caro, e que hoxe en día o prezo dos ordenadores é razoable e cada vez son máis baratos.
 
== Véxase tamén ==
 
* [[Linguaxe de programación]]
* [[Programación dirixida por eventos]]
* [[Programación estruturada]]
* [[Programación extrema]]
* [[Erro de software]]
* [[Programación orientada a obxectos]]
* [[Testeo de software]]
 
== Ligazóns externas ==
 
* [http://www.computerbooks01.com/store/books/3839/1/1/ Libros de referencia sobre programación]
* [http://www.hewop.com Grupo de programación HeWoP, un lugar para aprender a programar]
* [http://www.mentores.net Mentores.NET: Programación, Internet e Tecnoloxía]
* [http://www.elguruprogramador.com.ar El Guru Programador: Articulos e Tutoriais]
 
[[Categoría:Programación| Programacion]]
[[lt:Programavimas]]
[[ml:കംപ്യൂട്ടർ പ്രോഗ്രാമിങ്ങ്]]
[[mn:Програмчлал]]
[[mn:Компьютер программчлал]]
[[ms:Pengaturcaraan]]
[[nl:Programmeren]]
76.169

edicións

Menú de navegación

Ferramentas persoais

Espazos de nomes

Variantes