Programa Informático
Programa Informático
Programa Informático
1 Programación
La programación de computadoras es el proceso iterativo
de escribir o editar código fuente. Dicha edición implica
probar, analizar y perfeccionar, y, a veces, coordinar con
otros programadores, en el caso de un programa desarro-
llado en conjunto. Una persona que practica esta técnica
se le conoce como programador de computadoras, desa-
rrollador de software, o codificador. El proceso, a veces
a largo plazo, de programación de computadoras normal-
mente se lo conoce como desarrollo de software. El tér-
mino ingeniería de software se está convirtiendo en muy
popular, ya que esta actividad es vista como una discipli-
na de ingeniería.
Un programa informático escrito en un estilo orientado a objetos.
1.1 Paradigmas
Un programa informático o programa de computado-
ra es una secuencia de instrucciones, escritas para reali- Los programas de ordenador se pueden clasificar según
zar una tarea específica en una computadora.[1] Este dis- el paradigma del lenguaje de programación utilizado pa-
positivo requiere programas para funcionar, por lo ge- ra producirlos. Dos de los principales paradigmas son
neral, ejecutando las instrucciones del programa en un imperativos y declarativos.
procesador central.[2] El programa tiene un formato eje- Los programas escritos con un lenguaje imperativo espe-
cutable que la computadora puede utilizar directamen- cifican un algoritmo utilizando declaraciones, expresio-
te para ejecutar las instrucciones. El mismo programa
nes e informes.[4] Una declaración asocia un nombre de
en su formato de código fuente legible para humanos, variable a un tipo de datos. Por ejemplo: var x: integer; .
del cual se derivan los programas ejecutables (por ejem-
Una expresión produce un valor. Por ejemplo: 2 + 2 pro-
plo, compilados), le permite a un programador estudiar y duce 4. Por último, una declaración puede asignar una
desarrollar sus algoritmos. Una colección de programas
expresión a una variable o usar el valor de una variable
de computadora y datos relacionados se conoce como para alterar las estructuras de control del programa. Por
software.
ejemplo: x := 2 + 2; if x = 4 then hacer_algo(); Una crí-
Generalmente, el código fuente lo escriben profesionales tica de los lenguajes imperativos es el efecto secundario
conocidos como programadores de computadora.[3] Es- de una sentencia de asignación en una clase de variables
te código se escribe en un lenguaje de programación que llamadas variables no locales.[5]
sigue uno de los siguientes dos paradigmas: imperativo Los programas escritos en un lenguaje declarativo espe-
o declarativo, y que posteriormente puede ser converti- cifican las propiedades que tienen o que deben cumplir-
do en un archivo ejecutable (usualmente llamado un pro- se para la salida. No especifican detalles expresados en
grama ejecutable o un binario) por un compilador y más términos de flujo de control de la máquina de ejecución
tarde ejecutado por una unidad central de procesamien- pero sí de las relaciones matemáticas entre los objetos
to. Por otra parte, los programas de computadora se pue- declarados y sus propiedades. Los lenguajes funcionales
den ejecutar con la ayuda de un intérprete, o pueden ser y lógicos son dos amplias categorías de lenguajes decla-
empotrados directamente en hardware. rativos. El principio detrás de los lenguajes funcionales
De acuerdo a sus funciones, los programas informáticos (como Haskell) es el de no permitir efectos secundarios,
se clasifican en software de sistema y software de aplica- lo que hace que sea más fácil para razonar sobre los pro-
ción. En las computadoras de 2015, al hecho de ejecutar gramas como si se tratasen de funciones matemáticas.[5]
1
2 2 EJECUCIÓN Y ALMACENAMIENTO DE LOS PROGRAMAS
con el software de aplicación.[13] El propósito del siste- [8] Silberschatz, Abraham (1994). Operating System Con-
ma operativo es proveer un ambiente en el cual el soft- cepts, Fourth Edition (en inglés). Addison-Wesley. p. 30.
ware de aplicación se ejecuta de una manera conveniente ISBN 0-201-50480-4.
[13]
y eficiente. Además del sistema operativo, el softwa- [9] Tanenbaum, Andrew S. (1990). Structured Computer Or-
re de sistema incluye programas utilitarios que ayudan a ganization, Third Edition. Prentice Hall. p. 11. ISBN 0-
manejar y configurar la computadora. Si un programa no 13-854662-2. (en inglés).
es software de sistema entonces es software de aplicación.
El middleware también es un software de aplicación que [10] Silberschatz, Abraham (1994). Operating System Con-
acopla el software de sistema con la interfaz de usuario. cepts, Fourth Edition (en inglés). Addison-Wesley. p. 6.
También son software de aplicación los programas utili- ISBN 0-201-50480-4.
tarios que ayudan a los usuarios a resolver problemas de [11] Silberschatz, Abraham (1994). Operating System Con-
aplicaciones, como por ejemplo la necesidad de ordena- cepts, Fourth Edition (en inglés). Addison-Wesley. p. 100.
miento. ISBN 0-201-50480-4.
• Algoritmo para la relación entre los programas in- [13] Silberschatz, Abraham (1994). Operating System Con-
cepts, Fourth Edition (en inglés). Addison-Wesley. p. 1.
formáticos y algoritmos
ISBN 0-201-50480-4.
• Aplicación informática
[3] «Algorithms and Computer Programming» (en inglés). • Esta obra contiene una traducción total derivada
Consultado el 8 de setiembre de 2014. de Computer program de Wikipedia en inglés, con-
[4] Wilson, Leslie B. (1993). Comparative Programming Lan- cretamente de esta versión, publicada por sus edi-
guages, Second Edition (en inglés). Addison-Wesley. p. 75. tores bajo la Licencia de documentación libre de
ISBN 0-201-56885-3. GNU y la Licencia Creative Commons Atribución-
CompartirIgual 3.0 Unported. infativapty
[5] Wilson, Leslie B. (1993). Comparative Programming Lan-
guages, Second Edition (en inglés). Addison-Wesley. p.
213. ISBN 0-201-56885-3.
8.2 Imágenes
• Archivo:Dg-nova3.jpg Fuente: https://upload.wikimedia.org/wikipedia/commons/9/99/Dg-nova3.jpg Licencia: Copyrighted free use Co-
laboradores: Photograph taken by Qu1j0t3. Artista original: User Qu1j0t3 on en.wikipedia
• Archivo:Object-Oriented-Programming-Methods-And-Classes-with-Inheritance.png Fuente: https://upload.wikimedia.org/
wikipedia/commons/3/37/Object-Oriented-Programming-Methods-And-Classes-with-Inheritance.png Licencia: CC BY-SA 3.0
Colaboradores: Taking a screenshot, then editing using Paint.NET Artista original: Carrot Lord
• Archivo:USB_flash_drive.JPG Fuente: https://upload.wikimedia.org/wikipedia/commons/2/2c/USB_flash_drive.JPG Licencia: CC-
BY-SA-3.0 Colaboradores: ? Artista original: ?